软件测试_笔记(完整版)

2023-11-07

软件测试

概述

程序+文档+数据=软件

狭义的软件测试定义:为发现软件缺陷而执行程序或系统的过程

广义的软件测试定义:人工或自动地运行或测定某系统的过程,目的在于检验它是否满足规定的需求或弄清预期结果和实际结果间的差别

为什么要做软件测试

  • 发现软件缺陷
    • 功能错
    • 功能遗漏
    • 超出需求部分(画蛇添足)
    • 性能不符合要求
  • 软件质量高低:是否符合用户习惯、符合用户需求

测试的任务

  • 找出
  • 定位
  • 修改
  • 修改后要做回归测试,对已修改的部分进行再次的测试,避免引入新的错误

测试用例的定义和组成部分

  • 测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。测试用例是执行的最小实体。简单地说,测试用例就是设计一个场景,使软件程序在这种场景下,必须能够正常运行并且达到程序所设计的执行结果。
  • 包含
    • 用例ID
    • 用例名称
    • 测试目的
    • 测试环境
    • 前提条件
    • 测试步骤
    • 预期结果
    • 其他信息

一个好的高质量的测试用例在于能发现至今未发现的错误,一个成功的测试是发现了至今未发现的错误的测试(Copyright © https://blog.csdn.net/s_gy_zetrov. All Rights Reserved)

两个方向

  • 找错误,反向思维。
  • 证明能正常工作,正向思维。
  • 目前的方法出发点一般是“找错误”,因为没法证明软件是正确的。

用户需求

要求(用户想要) 需求(用户目的) 需要(用户内在欲望)
牙膏 清洁牙齿 个人魅力(个人外表整洁)

什么时候停止测试

  • 继续测试没有产生新的失效
  • 继续测试没有发现新缺陷
  • 回报很小
  • 以达到要求的覆盖
  • 无法考虑新的测试用例(若已遵循测试规则和指导方针,则可以选择)

测试过程模型

缺陷具有放大的特点,随着阶段的推进发现bug的成本会指数型上升,所以并不是代码级的测试才叫测试,而是开发过程各个阶段越早开始测试越好。

  • 瀑布模型:需求分析->设计(概要、详细)->编程->测试(单元、集成、系统)->维护
  • V模型(瀑布-改):在软件开发的生存期,开发活动和测试活动几乎同时的开始,如概要设计阶段结束后集成测试的测试用例就出来了、详细设计阶段结束后单元测试的测试用例也就出来了等
  • W模型(V模型更加细化、每步都加测试,边造软件边进行测试):需求分析加了需求测试、概要设计加了功能测试、详细设计加了设计测试、编码加了单元测试、集成加了集成测试、确认加了确认测试、验收加了系统测试
  • H模型:无实际意义,仅说明可以独立测试

软件测试的原则

  • 所有的测试都应追溯到用户的需求
  • 尽早地和不断地进行软件测试(缺陷具有放大的特点,测试成本随阶段深入而上升)
  • 8-2原则
    • 测试中发现的错误80%很可能起源于程序中的20%
    • 提前测试可发现80%,系统测试找出剩余bug的80%(总体的16%),最后的4%可能只有用户大范围长时间使用后才暴露出来
    • 80%的工程用在20%的需求上(即关键需求)
  • 软件缺陷的寄生虫性:找到的缺陷越多说明软件遗留的缺陷越多
  • 避免自己测试自己的程序
  • 回归测试:避免引入新的错误

软件测试流程

制定测试计划->测试设计->测试开发->测试执行->评估测试

注意

  • 测试不是开发后期的一个阶段
  • 测试入门其实稍容易,但要求技术一样高
  • 测试多数情况下不能覆盖所有输入
  • 不要“有时间多测,没时间少测”
  • 软件测试不止是测试人员的事,也是开发人员的事
  • 调试和测试不一样
  • 测试绝非只运行一下软件看结果对不对

L10N:本地化测试

I18N:国际化测试

黑盒测试

等价类划分与边界值分析

如何划分有效和无效等价类(一些常用原则)

  • 如果一个变量在某一个范围内,给它一个有效等价类两个无效等价类
  • 如果一个变量取值在某一个集合范围内,可在集合内取一个有效等价类在集合外取一个无效等价类
  • 如果一个变量的条件是“必须怎样”、“一定会是怎样”则去一个值满足“必须要”的条件再取多个不满足的从多个角度去违背这个条件
  • 如果一个变量是布尔类型,则取一个对的一个错的

在找到有效等价类和无效等价类后如何找测试数据

  • 有效等价类:要尽可能多的覆盖有效等价类
  • 无效等价类:每找到一组数据要至少覆盖一组无效等价类

如果功能模块的输入是多个,多个自变量放在一起如何找有效等价类、无效等价类、测试数据,4钟方法:

以一个具有自变量X1、X2的函数F为例,X1取值范围为[a, b)、[b, c)、[c, d];X2取值范围为[e, f)、[f, g]。仅考虑有标记的方块内为一般等价类测试(不处理无效数据的测试)、所有方块都考虑为健壮等价类测试(进行无效数据处理的测试)

g |_______|_______|_______|_______|_______|
f |_______|///|///|///|_______|
e |_______|///|///|///|_______|
  |_______|_______|_______|_______|_______|
          a       b       c       d
  • 弱一般等价类
    • 有假设前提:是单缺陷的,即假设系统出现的缺陷很少是由两个及以上的输入变量共同出现缺陷而引起的。
    • 选取的测试用例覆盖所有的有效等价类
      • 对于X1(横轴):[a, b)、[b, c)、[c, d]都需要覆盖到;对于X2(纵轴):[e, f)、[f, g]都需要覆盖到。保证了这两点的情况下,就可以任意取点了
g |_______|_______|_______|_______|_______|
f |_______|_______|____x__|_______|_______|
e |_______|___x___|_______|___x___|_______|
  |_______|_______|_______|_______|_______|
          a       b       c       d
  • 强一般等价类
    • 基于多缺陷假设
    • 选取的测试用例覆盖所有的有效等价类的笛卡尔积(集合A{a1,a2,a3} 集合B{b1,b2} 他们的 笛卡尔积 是 A*B ={(a1,b1),(a1,b2),(a2,b1),(a2,b2),(a3,b1),(a3,b2)} )
      • 对于X1(横轴):[a, b)、[b, c)、[c, d];X2(纵轴):[e, f)、[f, g],笛卡尔积的结果就是所有的格子,所以必须所有格子都取点
g |_______|_______|_______|_______|_______|
f |_______|___x___|___x___|___x___|_______|
e |_______|___x___|___x___|___x___|_______|
  |_______|_______|_______|_______|_______|
          a       b       c       d
  • 弱健壮等价类
    • 有假设前提:是单缺陷的,即假设系统出现的缺陷很少是由两个及以上的输入变量共同出现缺陷而引起的。
    • 考虑无效值,对有效输入,测试用例的设计等同于弱一般等价类;对无效输入,测试用例需要保证拥有一个无效值(比如某一变量的有效类的取值范围为x、y、z,则无效类为x-和z+,加起来取值范围一共:x-、x、y、z、z+),并保持其余的值都是有效的。

所以如下图,在保证弱一般等价类的取点后,还需要分别保证X1、X2中有1个属于无效输入的两个额外的取值范围,另一个属于有效输入的原本取值范围(如X1取无效X2取有效或X1取有效X2取无效,并全部覆盖无效范围)

g |_______|_______|_______|___O___|_______|
f |_______|_______|___x___|_______|___O___|
e |___O___|___x___|_______|___x___|_______|
  |_______|___O___|_______|_______|_______|
          a       b       c       d
  • 强健壮等价类
    • 基于多缺陷假设
    • 所有的取值范围取笛卡尔积(比如某一变量的有效类的取值范围为x、y、z,则无效类为x-和z+,加起来取值范围一共:x-、x、y、z、z+,再与另一变量的取值范围取笛卡尔积)
g |___O___|___O___|___O___|___O___|___O___|
f |___O___|___x___|___x___|___x___|___O___|
e |___O___|___x___|___x___|___x___|___O___|
  |___O___|___O___|___O___|___O___|___O___|
          a       b       c       d

在找测试数据时(Copyright © https://blog.csdn.net/s_gy_zetrov. All Rights Reserved)

  • 对于单缺陷的,即只有一个输入变量是处于无效等价类,其他所有输入变量都处在有效等价类中。包含:
    • 单缺陷有效值
    • 单缺陷无效值
  • 对于多缺陷的,即多个输入变量同时出现错误引起的。包含:
    • 有效值
    • 无效值

与等价类划分密切相关的就是边界值分析。先划分等价类,再结合边界值产生测试用例。边界值分析中也有假设前提:单缺陷。包含4种设计测试用例的方法:

  • 一般的边界值分析
    • 有效范围:最小的、比最小大一点的、正常值、比最大小一点、最大值
    • 无效范围:比最小更小、比最大更大
    • 共7个,再分单缺陷和多缺陷,这样设计测试用例的个数就会指数上升
- 单变量假设 多变量假设
有效值 **一般边界值**5n-(n-1)【n-1个变量取正常值】=4n+1【仅考虑有效区间单个变量边界值(一般边界值):用最小值、略高于最小值、正常值、略低于最大值和最大值。】 **一般最坏情况边界值**5^n【仅考虑有效区间多个变量边界值同时作用(一般最坏情况边界值):用各个变量最小值、略高于最小值、正常值、略低于最大值和最大值的笛卡尔积。】
无效值 **健壮性边界值**7n-(n-1)=6n+1【 同时考虑有效区间和无效区间单个变量边界值(健壮边界值):除了最小值、略高于最小值、正常值、略低于最大值、最大值,还要有略超过最大值和略小于最小值的值。】 **健壮最坏情况边界值**7^n【同时考虑有效区间和无效区间多个变量边界值同时作用(健壮最坏情况边界值):用各个变量最小值、略高于最小值、正常值、略低于最大值、最大值、略超过最大值和略小于最小值的笛卡尔积。】

常见的边界值

  • 16bit整数32767~-32768
  • 报表第一行和最后一行
  • 屏幕光标最左上和最右下
  • 数组的第一个和最后一个
  • 循环的第0、1、倒数第一、倒数第二次

决策表

适合于问题有多个条件,条件有多种组合执行不同操作(有很多if、else if、else),不能表达循环结构

最严格、最具有逻辑性

判定表
| 条件桩 | 条件项 | ... | 动作项 |
| 动作桩 | 动作项 | ... | 动作项 |

规则:条件的任意组合,判定表中的一列(贯穿条件项和动作项)。判定表有多少列就代表有多少条规则。

规则的化简:有的规则相互包含,可以化简

因果图

找出所有的原因,找出结果,可能还有中间结果的产生,在画因果图时注意。

  • 从输入考虑
    • I:连虚线出去,如连到ab,表示ab中至少有一个必须成立
    • E:连虚线出去,如连到ab,表示ab不能同时成立
    • R:如处于a指向b的虚线三角箭头上,表示a出现时b也必须出现,不可能一个出现一个不出现
  • 从输出考虑
    • M:如处于a指向b的虚线三角箭头上,表示a为1时b必须为0,a为0时b值不定
  • 连线:恒等
  • ~:非
  • ∨:或
  • ∧:且
  • ci:原因
  • ei:结果

画出因果图后,根据图得到决策表从而得到相应的测试数据:原因节点+中间节点为条件桩,结果结点为动作桩

白盒测试

逻辑覆盖

语句覆盖->判定覆盖->判定/条件覆盖->条件组合覆盖->路径覆盖
      \_条件覆盖/
  • 语句覆盖:每条语句执行一次
  • 判定覆盖:每个判定分支至少执行一次
  • 条件覆盖:每个判定条件应取到各种可能的值
  • 判定/条件覆盖:同时满足判定和条件
  • 条件组合覆盖:每个判定条件的每一种组合各出现一次
  • 路径覆盖:每一条可能的路径至少执行一次

关系:

  • 条件组合覆盖>判定覆盖>语句覆盖(即如果达到条件组合覆盖,就达到判定覆盖和语句覆盖:如果达到判定覆盖,就达到语句覆盖,下面类似理解)。
  • 条件组合覆盖>条件覆盖。
  • 条件覆盖不一定包含判定覆盖、语句覆盖。
  • 判定覆盖不一定包含条件覆盖。
  • 路径覆盖,判定覆盖>语句覆盖。

基本路径测试

基于程序圈复杂度产生的测试方法,画出控制流程图,算圈复杂度,找到独立路径并压缩为基本路径集合,根据集合中每条路径设计用例。把复合逻辑表达式拆成单个表达式

圈复杂度用于计算程序的基本的独立路径数目(每条新的独立路径都必须包含一条新的有向边,从入口到出口互不相同的路径数)

  • 圈复杂的V(G) = e - n + 2p【边-节点+2*连接区域数,连接区域p通常为1】=P+1【判定节点数+1】
  • 一般来说,一个单元模块的最大复杂度V(G)<10

如果把覆盖的路径数压缩到一定限度内,例如程序中的循环体只执行0次和1次,就成为基本路径测试,通过导出基本路径集合,从而设计测试用例,保证这些路径至少通过一次

基于数据流的测试

基于真的数据定义到数据的使用来进行测试,需要找到定义的节点(包括赋值的和比较的)和使用的节点(Copyright © https://blog.csdn.net/s_gy_zetrov. All Rights Reserved)

  • 定义节点DEF:输入语句、赋值语句、循环语句和过程调用;变量的值会发生变化的语句
  • 使用节点USE:数出语句、赋值语句、条件语句、循环控制语句、过程调用

需要找到所有这段功能代码从哪里开始定义,到哪里开始执行,把路径找出来。什么是定义使用路径(某一变量在最初节点定义到最终节点被使用)、定义清除路径(某一个变量从它的定义节点到使用节点这个过程中没有对这个变量进行二次定义)

循环测试

前提是程序是结构化的。

简单循环测试

  • 0次通过循环
  • 1次通过循环
  • 2次通过循环
  • m次通过循环(m<=循环最大次数)
  • m-1,m,m+1次通过循环

测试的过程

单元测试

单元测试的内容:5点(简答题)

  • 模块接口的测试
  • 局部数据结构的测试
  • 独立路径测试
  • 错误处理测试
  • 边界测试

单元测试的模块

  • 被测模块:被测试的程序的模块
  • 驱动模块:用来模拟测试模块的上一级模块,相当于被测模块的主程序
  • 桩模块:用来模拟被测模块工作过程中所调用的模块

单元测试的工具:Junit相关的概念:以插入断言的方式进行测试(类似黑盒测试)

  • 针对被测代码或者被测的功能点先创建测试类,然后在类里面创建一个个测试方法。通过实例化对象调用被测方法,用断言进行实际值预期值比较。

单元测试的方法

  • 以白盒测试法为主(覆盖),先静态检查代码是否符合规范,再动态运行代码,检查结果。除了需要验证结果是否正确,还需要检查程序的容错能力、边界值处理等问题。

集成测试

  • 一次性的集成big-bang:把所有通过了单元测试的模块按设计要求一次全部组装起来,然后进行整体测试。时间随变短了但急于求成。
  • 渐进地集成
    • 自上而下:从主程序模块开始按深度或广度优先策略边组装边测试
    • 自下而上:从最底层模块开始组装和集成测试
    • 汉堡包:两者进行结合,树状图每层画线,顶层采用自顶向下,底层采用自底向上
      相邻的集成:上下三层进行集成
      成对集成:先成对再相邻
      基于MM路径的集成:MM路径不是可执行路径,描述单元之间的控制转移。

最终得到调用图,然后就会到基本路径测试,找复杂度,找路径,得到测试用例的套路

系统测试

黑盒为主(Copyright © https://blog.csdn.net/s_gy_zetrov. All Rights Reserved)

对哪些内容进行系统测试(9个):易用性、国际化本地化、性能、功能、界面、兼容性、安全性、文档、安装

Web系统测试

具体到如Web系统测试中的功能测试包含哪些内容、对cookies里面的内容进行测试属于Web系统测试里面的哪一项的测试(属于功能测试)

  • 功能测试
    • 页面内容测试
    • 页面链接测试
    • 表单测试
    • Cookies测试、Session测试
    • 设计语言测试
    • 数据库测试
  • 性能测试(负载/压力)
    • 连接速度测试
    • 测试工具 LoadRunner
      • 负载测试
      • 压力测试
    • 网页性能Firefox插件:Yslow,Findbug,PageSpeed
    • Dynatrace检查网页性能
  • 可靠性测试:不间断测试,看多久不出错
  • 用户界面测试/易用性测试
    • 导航测试
    • 图形测试
    • 内容测试
    • 整体界面测试
  • 安全性测试
  • 兼容性测试
  • 接口测试
    • 服务器接口
    • 外部接口
    • 错误处理

主要讲了性能测试的含义和怎么做,如所涵盖的含义如压力测试怎么做、负载测试怎么做等

  • 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
    • 时间性能:软件的一个具体事务的响应时间
    • 空间性能:软件运行时所消耗的系统资源
    • 我让你背1袋米(轻松)
    • 我让你背1袋米,但让你去操场上跑圈,看多久累倒(吃力)
    • 我让你背3袋米去操场跑圈,看多久累倒(极限)
    • 我让你背1袋、2袋、3袋、4袋…发现最多背3袋
  • 负载测试让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的可靠性。
    • 系统能否处理某个时刻同时访问Web系统/某个页面的用户数量
    • 超过了这个数量,会出现什么现象?
    • 在线数据处理的数量
  • 负载/压力测试关注什么?
    • 验证系统能否同一时间响应大量的用户,用户传送大量数据时能否响应,系统能否长时间运行。
      • 瞬间访问高峰
      • 每个用户传送大量数据
      • 长时间使用
  • LoadRunner性能测试工具原理:录制+回放模拟用户实际操作场景,监控并分析运行结果。

自动化测试

录制+回放+脚本 是主要的方式

常用的自动化测试的工具,哪些种类,每种有什么工具

  • 功能测试工具:QTP
  • 性能测试工具:LoadRunner
    • 写脚本或者录制脚本
    • 使用用户自定义参数
    • 场景设计
    • 产生虚拟用户的机制:使用控制器,来控制模拟多少用户。
    • 使用监听器,查看测试结果

(Copyright © https://blog.csdn.net/s_gy_zetrov. All Rights Reserved)


visitor tracker
访客追踪插件


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件测试_笔记(完整版) 的相关文章

  • 等价类划分法

    专注于分享软件测试干货内容 欢迎点赞 收藏 留言 如有错误敬请指正 软件测试面试题分享 1000道软件测试面试题及答案 软件测试实战项目分享 纯接口项目 完整接口文档 软件测试实战项目分享 WEB 测试自动化项目实战 软件测试学习教程推荐
  • 外包干了2个月,技术退步明显...

    先说一下自己的情况 大专生 18年通过校招进入武汉某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋友
  • Jmeter 压测-性能调优5大注意

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • #私密朋友圈被吐槽有bug?官方致歉!网友:尴尬了......

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 2种方法,教你使用Python实现接口自动化中的参数关联

    通常在接口自动化中 经常会参数关联的问题 那么什么是参数关联 参数关联就是上一个接口的返回值会被下一个接口当做参数运用 其中Python中可以实现参数关联的方法有很多种 今天小编给大家介绍下 如何通过Python来实现接口自动化中的参数关联
  • RF自动化环境安装+自动化实例解析

    RF定义 通用型的 自动测试框架 绝大部分的软件的的自动化系统都可以采用它 特点 测试数据文件 Test Data 对应一个个的测试用例 测试数据文件里面使用的功能小模块叫关键字 由测试库 Test Library Robot Framew
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • Jmeter 性能-并发量计算

    并发概念 指网站在同一时间访问的人数 人数越大瞬间带宽要求更高 服务器并发量分为 业务并发用户数 最大并发访问数 系统用户数 同时在线用户数 估算业务并发量的公式 C nL T C C 3 C的平方根 说明 C是平均的业务并发用户数 n是l
  • 步骤详图 教你在linux搭建容器环境

    警告 切勿在没有配置 Docker YUM 源的情况下直接使用 yum 命令安装 Docker 1 准备工作 系统要求 要安装Docker CE 社区版 操作系统的最低要求是CentOS7 7以下版本都不被支持 卸载旧版本 Docker改版
  • 测试用例评审流程优化

    测试用例 评审是QA日常工作流程中的关键一环 是QA同学完善测试用例 交流测试经验的好机会 负责组内测试用例建设以来 作者对于评审流程做了一些优化工作 本文作者将整个优化过程中的心得体会做了一个总结 希望能给大家带来帮助 01 原始流程 1
  • 新入职一个00后卷王,每天加班到2点,太让人崩溃了····

    在程序员职场上 什么样的人最让人反感呢 是技术不好的人吗 并不是 技术不好的同事 我们可以帮他 是技术太强的人吗 也不是 技术很强的同事 可遇不可求 向他学习还来不及呢 真正让人反感的 是技术平平 却急于表现自己的人 每天加班到12点 在老
  • 软件测试|使用Python轻松裁剪视频

    简介 裁剪视频是在视频编辑和处理中常见的任务之一 Python提供了多种库和工具 可以用来裁剪视频 在本文中 我们将详细讨论如何使用Python来裁剪视频 并提供示例代码 步骤1 环境准备 首先 我们要安装必要的Python库 我们将使用
  • 软件测试|Selenium StaleElementReferenceException 异常分析与解决

    简介 Selenium 是一个流行的自动化测试工具 用于模拟用户与网页交互 然而 当我们在使用 Selenium 时 可能会遇到一个常见的异常 即 StaleElementReferenceException 这个异常通常在我们尝试与网页上
  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • Python自动化测试 | 如何使用Robot Framework进行自动化测试?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错

随机推荐

  • 攻防世界--WEB题之robots

    问题描述 难度系数 一颗星 题目来源 Cyberpeace n3k0 题目描述 X老师上课讲了Robots协议 小宁同学却上课打了瞌睡 赶紧来教教小宁Robots协议是什么吧 题目场景 点击获取在线场景 题目附件 暂无 题目分析 这个题由题
  • python基础练习题(一)

    参考 一 单选题 1 Python中 运算符比较两个对象的值 下列选项中哪一个是is比较对象的因素 4 0分 A id B sum C max D min id 命令查看变量的地址 2 在python中 字符串s abc 那么执行表达式s
  • vue2以ElementUI为例构建notify便捷精美提示

    我们先引入一个 第三方UI库 这里 我们以elementUI为例 先引入依赖 npm install element ui save 然后 在 main js 入口文件中 引入一下 import ElementUI from element
  • MSYS2 如何添加国内源

    用MSYS2 pacman S 安装包的速度让你怀疑人生 所以需要将源换成国内源 步骤 lt 1 gt 打开MSYS2软件内的 etc pacman d 其中有3个文件 mirrorlist mingw32 mirrorlist mingw
  • Nacos未授权访问漏洞(CVE-2021-29441)

    目录 漏洞描述 影响范围 环境搭建 漏洞复现 声明 本文仅供学习参考 其中涉及的一切资源均来源于网络 请勿用于任何非法行为 否则您将自行承担相应后果 本人不承担任何法律及连带责任 加粗样式 漏洞描述 Nacos 是阿里巴巴推出来的一个新开源
  • 百度Apollo(二):障碍物感知模块

    Apollo感知模块具有识别障碍物和交通灯的能力 其中 Apollo解决的障碍物感知问题 1 高精地图ROI过滤器 HDMap ROI Filter 2 基于卷积神经网络分割 CNN Segmentation 3 MinBox 障碍物边框构
  • jenkins构建前、构建、构建后操作

    因为使用docker部署的jenkins存在目录映射问题 所以直接部署jenkins 部署参考 构建前操作 思路 使用ssh到目标服务器下发命令 查询启动的node服务 分析不同的服务器启动的服务 备份服务对应代码 构建 思路 jenkin
  • linux 创建 svn 库

    cd data svn mkdir p itvalue chown R windmaker windmaker itvalue svnadmin create data svn itvalue cd itvalue cd conf vim
  • freeimage ubuntu安装

    sudo apt get install libfreeimage dev sudo apt get install libfreeimage 编译安装地址 https github com Kanma FreeImage This dis
  • es6 求两个数组的差集

    let arr 1 2 3 4 5 let arr01 1 2 3 4 5 6 7 8 9 let arr02 arr01 filter x gt arr every y gt y x console log arr02
  • 以太坊Dapp终极教程——如何构建一个完整的全栈去中心化应用(三)

    在以太坊Dapp终极教程 如何构建一个完整的全栈去中心化应用 一 中 我们已经完成了一切所需的设置 在以太坊Dapp终极教程 如何构建一个完整的全栈去中心化应用 二 中 让我们通过列出将在选举中运行的候选人来继续构建智能合约并完成客户端程序
  • 第四章文件管理

    0 初识文件管理 一个文件有哪些属性 文件名 由创建文件的用户决定文件名 主要是为了方便用户找到文件 同一目录下不允许有重名文件 标识符 一个系统内的各文件标识符唯一 对用户来说毫无可读性 因此标识符只是操作系统用于区分各个文件的一种内部名
  • WLS2 下解决nvidia-smi不可用方法

    WLS2系统 Ubuntu22 04 windows win11 wls2更新内核后 nvcc V 可用 但是 nvidia smi报错 NVIDIA SMI has failed because it couldn t communica
  • 安装开发软件的步骤以及后期开发会遇到的一系列问题

    这是我自己进行项目开发过程中遇到的一些问题 我将他们记录了下来 一 合理的安装开发软件的过程 1 安装jdk 1 1版本问题 不要安装最新的jdk 很容易出现bug 可以安装第三个版本左右的jdk 1 2配置环境变量 网上搜 2 安装Tom
  • 区块链学习笔记(三)——第一章 密码学及加密货币概念

    加密数字货币与法定货币不同在于 其安全规则需要完全通过技术手段实现 而非依赖中央机构 1 1 哈希函数 哈希函数三个特性 1 任意大小字符串均可作为输入 2 产生固定大小输出 3 能进行有效计算 即对应n位字符串 其哈希值计算复杂度为 O
  • linux 下使用 sar -n 命令查看Kbps、bps的带宽速率

    一 关于网络带宽知识 1 1 速率单位 bps 速度单位 bit即比特 通常用b 小写 表示 指一位二进制位 1 Milionbit 1000Kilobit 1000000bit 即 1Mbps 1000 000bps 常见换算单位 Mbp
  • helm 安装

    官方安装 https helm sh docs intro install 1 一键安装 curl https raw githubusercontent com helm helm main scripts get helm 3 bash
  • 计算机毕业设计Node.js+Vue电影票网上订票系统(程序+源码+LW+部署)

    该项目含有源码 文档 程序 数据库 配套开发软件 软件安装教程 欢迎交流 项目运行 环境配置 Node js Vscode Mysql5 7 HBuilderX Navicat11 Vue Express 项目技术 Express框架 No
  • Unity 动态加载Prefab

    Unity动态记载Prefab 第一种方法 从Resources文件夹读取Prefab Assets Resources是Unity中的一个特殊文件夹 放在这个文件夹里的资源包括Prefab可以被代码动态加载 GameObject Pref
  • 软件测试_笔记(完整版)

    软件测试 概述 程序 文档 数据 软件 狭义的软件测试定义 为发现软件缺陷而执行程序或系统的过程 广义的软件测试定义 人工或自动地运行或测定某系统的过程 目的在于检验它是否满足规定的需求或弄清预期结果和实际结果间的差别 为什么要做软件测试