软件:控制计算机硬件的工具
检验程序是否满足需求,和弄清楚预期结果和实际结果的差别
功能测试 自动化测试 接口测试 性能测试
就业方向该如何选择?
1.方向(一)︰功能测试+接口测试
2. 方向(二):功能测试+性能测试
3.方向(三):功能测试+web自动化
功能测试:
测试主要验证程序的功能是否满足需求
自动化测试:
·使用代码或工具代替手工,对项目进行测试
接口测试:
·使用代码或工具验证程序中的接口是否访问正常
性能测试:
·模拟多人使用软件,查找服务器缺陷
1、按阶段划分
①单元测试︰针对程序源代码进行测试
②集成测试︰针对程序接口进行测试
③系统测试︰针对程序功能、非功能进行测试
④验收测试:使用不同用户(内测、公测)进行测试
2、按代码可见度划分
①黑盒测试:不关注源代码,针对程序UI功能进行测试。
②灰盒测试:针对程序部分代码进行测试(接口)
③白盒测试:针对程序源代码进行测试
质量模型:从功能性、性能、兼容性、安全、易用性、可靠性、可维护性、可移植性
来说明:衡量一个优秀软件的维度
如何开展软件的测试工作?
①需求评审②编写测试计划
③用例设计④用例执行
⑤缺陷管理⑥测试报告
等价类的类型划分
等价类划分可有两种不同的情况:有效等价类和无效等价类。
边界值划分 五条:两上点、两离点、一内点
(离点选择考虑开闭区间,开区间(不包含)选择内部离点,闭区间(包含)选择外部离点)
一般测试用例是等价类划分和边界值划分结合
例子:
需求:通过边界值法验证标题长度的合法性
要求:标题长度大于0,小于等于30个字符
等价类划分(针对类型) 边界值划分
长度大于0,小于等于30个数字 0,30
长度大于0,小于等于30个非数字 -1,31,15
一共7个例子
用例编号 用例标题 项目/模块 优先级前置条件 测试步骤 测试数据 预期结果
判定表法(一种以表格形式表达多条件逻辑判断的工具)
案例:验证“若用户欠费或者关机,则不允许主被叫”功能的测试
组成:
1.条件桩:列出问题中的所有条件,列出条件的次序无关紧要。(是否欠费关机)
2.动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束。(主叫)
3.条件项:列出条件对应的取值,所有可能情况下的真假值。(条件桩后的是否)
4.动作项:列出条件项的、各种取值情况下应该采取的动作结果。(动作桩后的是否)
条件 是否欠费 是 是 否 否
是否关机 是 否 是 否
操作 是否允许主被叫 否 否 否 是
规则:
1.判定表中贯穿条件项和动作项的一列就是一条规则
2.假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则
场景法
控制流程图
冒烟测试:确保主功能能跑通
根据流程图的步骤设计用例
1、开始->验证银行不成功->结束
2、开始->验证银行卡成功-→>密码错误3次-→>结束
3、开始->验证银行卡成功->密码验证成功->账户余额不足->结束
4、开始->验证银行卡成功->密码验证成功->账户余额验证成功->取款金额不正确->结束
5、开始->验证银行卡成功->密码验证成功->账户余额验证成功->取款金额正确->ATM机余额不足->结束
6、开始->验证银行卡成功->密码验证成功->账户余额验证成功->取款金额正确→>ATM机余额充足->取款成功→>结束(P0)
六条用例
错误推荐法 : 通过经验推测系统可能出现的问题
思想:
根据经验列举出可能出现问题的清单,根据清单分析问题可能原因,推测发现缺陷
适用场景:
1、时间紧任务量大时,根据之前项目类似经验找出易出错的模块重点测试
2、实践宽裕通过该方法列出之前出现问题较多的模块再次测试
设计用例->执行用例(执行测试)->缺陷(提交、验证、关闭)
缺陷:
软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug。
软件未实现需求(规格)说明书中明确要求的功能-少功能
软件出现了需求(规格)说明书中指明不应该出现的错误-功能错误
软件实现的功能超出需求(规格)说明书指明的范围-多功能
软件未实现需求(规格)说明书中虽未明确指明但应该实现的要求–隐性功能
错误软件难以理解,不易使用,运行缓慢,用户体验不好-不易使用
提交要素:
1.缺陷的标题----描述缺陷的核心问题
2.缺陷的预置条件----缺陷产生的前提
3.缺陷的复现步骤----复现缺陷的过程
4.缺陷的预期结果----希望得到的结果
5.缺陷的实际结果----实际得到的结果
6.缺陷的必要附件----图片、日志等信息(证据)
描述:
严重程度(什么毛病)
·严重(S1):主功能
·一般(S2):次要功能
微小(S3)∶易用性、界面
·建议(S4):建议性问题
缺陷优先级(解决时间)
-Priority 0: 24小时之内解决
- Priority 1:发布前必须修复
-Priority 2: 可以在下一个版本中修复
Bug类型
·代码错误、兼容性问题、设计缺陷、性能问题
缺陷状态
- New:新建(新出现几个bug)
-open:打开(在改)
-Closed:关闭(解决了)
-Postponed:延期(暂时解决不了)
工作流程
- 设计用例->执行用例(执行测试)->缺陷(提交、验证、关闭)
- 缺陷定义:任何问题(Bug)
- 缺陷标准:多功能、少功能、错误、缺少隐性功能、易用性
- 描述缺陷重点;缺陷标题、前置条件、复现步骤、预期结果、实际结果、附件备注
- 提交缺陷信息:指派人、缺陷等级、修复优先级、类型
缺陷分析表
缺陷编号 缺陷标题 严重级别 优先级 模块 缺陷描述 指派人 备注
缺陷分析标题的写法
描述测试数据+实际结果(预期结果)
测试数据描述+预期结果(实际结果)
测试数据描述+实际结果(需求)
Bug5:输入第一类A或B,第二列不是数字,预期结果输出L、M(实际输出:L)
输入第一类A或B,第二列不是数字执行结果输出L(期望:输出L、M)