1.什么是软件缺陷
(一)软件未实现规格说明书的功能
(二)软件功能出现了不应有的错误
(三)软件功能超出规格说明的范围
(四)软件未达到应到达的目标
(五)软件难以理解,不易使用,运行速度缓慢
2.软件缺陷的来源
(软件需求文档,软件设置,编码,其他)
3.软件测试对象
(程序,文件,数据)
4.软件测试过程的模型
(一)(V模型,W模型,X模型,H模型)
5.软件的生命周期
(一)测试计划---> 测试分析---> 测试设计--->测试执行--->测试评估
(二)分别对应的是测试计划阶段产生测试计划文档,测试分析阶段产生测试用例文档,测试执行阶段产生测试缺陷报告文档,测试评估阶段产生测试报告文档
6.软件测试方法
(一)是否执行软件分别为(静态分析,动态测试)
(二)是否了解程序内部结构分别为黑盒测试(又称为功能测试,数据驱动测试),白盒测试(又称为结构软件,逻辑驱动测试),灰盒测试。
(三)根据阶段和作用分为:单元测试,集成测试,系统测试,验收测试。
(四)根据测试目的分别为:功能测试,性能测试,安全测试,兼容性测试
(五)常被面试的概念分别为:回归测试,冒烟测试,a测试,B测试
7.软件测试基本原则
(一)尽早地和不断地进行软件测试
(二)应避免测试自己的程序
(三)pareto原则((80/20)原则)
(四)测试用例由输入和预期的输出结果组成
(五)程序修改后要回归测试
(六)穷举测试是不可能的
8.黑盒测试主要发现的错误
(一)功能不正确或遗留
(二)界面错误
(三)数据库访问错误
(四)性能错误
(五)初始化和终止错误
9.为什么要设计测试用例
(一)良好的测试用例可以缩短实施测试时间
(二)确保测试的系统性和全面性
(三)提高测试的可复用性
10.黑盒测试用例设计方法 等价类划分法
等价类划分
(一)把程序的所有可能的输入数据划分为若干子集,每一个子集的代表性数据在测试中作用等价于这一个子集的其他值。每一个子集就是一个等价类,等价类需要考虑有效等级类和无效等价类。
11.黑盒软件测试用例设计方法 边界值法
(一)长期测试经验表明:大量错误发生在输入或输出范围的边界值上,而不是发生在输入输出范围内部,因此,对各种边界值设计测试用例,能取得良好的效果。
11.黑盒测试用例设计方法 判定表驱动法
(一)判定表(Decision table) 是分析和表达较为复杂逻辑条件下软件和行为的有效工具。
(二)用它可以设计出完整的测试用例集合,将复杂问题可能情况罗列出,是测试内容变得简单明了而避免遗漏。
( 三)判定表的设计步骤
1.确定规则的个数,条件为n,规则个数=2n;
2.列出所有的条件桩和动作桩
3.填入条件项
4.输入动作项
5.简化判定表,合并相似规则
(四)判定表举例
1.对平均成绩在90分以上,且没有不及格科目的学生,或班级排名在前五位的学生,在程序中将学生的姓名用红色标识
条件包括(平均成绩大于90,没有不及格科目,班级排名前5名)
动作包括(姓名用红色标识,其他处理)
12.黑盒测试用例设计方法 -- 因果图法
(一)从程序规格说明中找出因(条件项)和果(结果项),并分析因果关系,以及因因,果果之间的约束关系,绘制因果图;
(二)通过因果图转为判定表
(三)将判定表中不符合约束条件的规则去除
(四)然后将判定表简化,将每一规则转化为一个测试用例
(五)因果图---原因与结果间的一般关系
包括(恒等,非,或,与)
E约束(异)--- 排斥
I 约束 (或) --- 包容
O 约束(唯一) --- 选一
R 约束 (要求) --- 需要
M 约束 (屏蔽) --- 屏蔽
13.黑盒测试用例设计方法 正交实验法
(一)正交实验法是从大量实验点中挑出适量的,有代表性的点,利用正交表,合理的安排实验的一种科学实验设计方法。
L行数 (水平书-因素数)
(二)正交表性质
* 任何一列,不同数字出现次数相等
* 任何两列,数字排列齐全且均衡
(三)正交法
1.分析影响测试项的因素
2.分析每一个因素的取值方式
3.设计或选择一个合适的正交表
4.把正交表中的元素转化为因素的实际取值,每行转化为一个测试用例
14.黑盒测试用例设计方法 场景法
(一)事件触发时序不同形成不同场景
(二)事件流分为基本流和备选流。基本流描述最正常的一种场景,备选流描述执行过程中的异常或者偶尔发生的情况
(三)场景法是通过用例场景描述业务操作流程,遍历业务流程上所有基本流和备选流。
场景法的设计步骤
1.分析程序的基本流、备选流
2.根据基本流、备选流生成场景
3.每一个场景对应一个测试用例
15.白盒测试技术
白盒测试
白盒测试又称为逻辑驱动测试,测试用例是依据选用的覆盖标准来确定的。
白盒测试方法
一、逻辑覆盖法
二、基本路径测试法
逻辑覆盖法用例设计步骤
1)选择逻辑覆盖的标准
2)按照覆盖标准列出所有情况
3)选择确定测试用例
(三)逻辑覆盖法
逻辑覆盖法以程序内部逻辑结构为基础的测试技术,它考虑的是测试数据对逻辑的覆盖相应的覆盖方法有:(语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖)。
(四)基本路径测试法
1.他在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径的集合,从而设计测试用例的方法。
2.设计出的测试用例要保证在测试中程序的每一条可执行语句至少执行一次。
(五)基本路径测试法的步骤
1)导出程序的控制图;
2)计算程序的圈复杂度
3)确定线性独立路径集合
4)生成测试用例
16.自动化测试的优点
1.提高测试质量
2.提高测试效率
3.提高测试覆盖率
4.完成了手工测试不能完成的任务
5.测试可重复性
6.更好的利用资源
18.测试自动化的局限
(一)不要希望将所有的测试全部自动化,只有重复而繁琐的活动才可能需要自动化
(二)很多时候手工测试是必不可少的,如果软件不稳定时必须先进行手工测试,而不是急着进行自动化,手工测试可以处理更多的意外事件,而自动化测试工具则不一定可以处理(例如:网络连接中断)
(三)自动化测试不能发现大量的新缺陷!!!自动化测试的重点在回归测试上。
19.什么情况下测试应该自动化
(一)接口,单元测试等易于实现自动化的测试
(二)压力测试
(三)自动化测试用例会被反复使用
(四)项目周期较长,需求变动不频繁
20.什么情况下测试不应该自动化
(一)只运行一次的测试
(二)周期短的项目
(三)人体感官和易用性的测试
(四)未经过详细准备的测试
(五)不稳定的软件
(六)涉及到物理交互
21.自动化测试工具
(一)单元测试工具: JUnit , NUnit , CppUnit
(二)性能测试工具:LoadRunner , Jmeter
(三)功能测试工具: QTP , Robot, winrunnr, selenium, katalon
(四)白盒测试工具
(五)静态测试工具:Logiscope PRQA
(六)动态测试工具:DevPartner, Rational purify
22.软件测试经验
(一)团队合作
(二)不要人云亦云
(三)学习/积累
(四)细心、耐心
网友评论