第一章:软件测试基础
1、软件从“出生”到“消亡”的过程称为软件的生命周期
2、评价软件质量国际标准ISO/IEC 9126:1991的六个特性:功能性、可靠性、可使用性、效率、可维护性、可移植性
3、影响软件质量的因素:需求模糊、软件开发缺乏规范性文件指导、软件开发人员问题、缺乏软件质量控制管理
4、软件缺陷产生的原因:需求不明确、软件结构复杂、编码问题、项目期限短、使用新技术
5、(简答题)软件缺陷的处理流程:提交-分配-确认-拒绝/延期-处理-复测-关闭
提交:测试人员发现缺陷之后,将缺陷提交给测试组长
分配:测试组长接受到测试人员提交的缺陷之后,将其移交给开发人员
确认:开发人员接收到移交的缺陷之后,会与团队甚至测试人员一起商议,确定该缺陷是否是一个缺陷
拒绝/延期:如果经过商议之后,缺陷不是应该真正的缺陷则拒绝处理,关闭缺陷;如果经过商议之后,确定其是一个真正的缺陷,则可以根据缺陷的严重程度或优先级等选择立即处理或延期处理。
处理:开发人员修改缺陷
复测:开发人员修改好缺陷后,测试人员重新进行(复测),检查缺陷是否确实已经修改。如果未被正确修改,则重新提交缺陷。
关闭:测试人员重新测试之后,如果缺陷已经被正确修改,则将缺陷关闭,整个缺陷处理完成
6、软件测试的分类按测试阶段分类:单元测试、冒烟测试、集成测试、系统测试、验收测试
*单元测试:验证软件单元是否符合软件需求与设计的测试
是软件开发的第一步测试,目的是为了测试软件单元是否符合软件需求与设计。单元测试大多是开发人员进行的自测
7、黑盒测试(重结果):把软件(程序)当作一个有输入与输出的黑匣子,它把程序当作一个输入域到输出域的映射,只要输入的数据能输出预期的结果即可,不必关心程序内部是怎样实现的。
白盒测试(重过程)(透明盒测试):指测试人员了解软件程序的逻辑结构、路径与运行过程,在测试时,按照程序的执行路径得出结果。
*相对于黑盒测试,白盒测试对测试人员的要求会更高一点,它要求测试人员具有一定的编程能力,而且要熟悉各种脚本语言
8、软件测试的原则:测试应基于客户需求、 测试应尽早进行、 穷尽测试是不可能的、 遵循GoodEnough原则、 测试缺陷要符合“二八”定理、 避免缺陷免疫
习题:1、早期的线性开发模型称为瀑布模型
2、引入风险分析的开发模型为螺旋开发模型
3、按照缺陷的严重程度可以将缺陷划分为:严重、一般、次要、建议
4、有一种测试模型,测试与开发并行进行,这种测试模型称为W模型
5、现在比较流行的软件开发模型为敏捷模型
6、软件缺陷不都存在程序代码中
7、软件测试是为了证明程序无错是错的
8、软件x模型融入了探索测试
9、测试用例设计不好不是软件缺陷产生的原因
10、软件测试与软件开发不是两个独立分离的过程
简答题:软件测试的基本流程:分析测试需求-->制订测试计划(1、确定测试范围 2、制订测试策略 3、安排测试资源 4、安排测试进度 5、预估测试风险)-->设计测试用例-->执行测试-->编写测试报告
第二章:黑盒测试方法
1、划分等价类可将数据划分为
有效等价类:有效等价类就是有效值的集合,它们是符合程序要求、合理且有意义的输入数据
无效等价类:无效等价类就是无效值的集合,它们是不符合程序要求、不合理或无意义的输入数据
2、边界值分析法是对软件的输入或输出边界进行测试的一种方法,它通常作为等价类划分法的一种补充测试
3、因果图多个输入之间的约束包括E异、I或、O唯一、R要求
输出条件的强制约束关系
4、决策表通常由4个部分组成:条件桩、条件项、动作桩、动作项
5、正交实验设计法的三个关键因素
指标:判断实验结果的优劣的标准
因子:也称因素,是指所有影响实验指标的条件
因子的状态:也叫因子的水平,指的是因子变量的取值
习题:1、等价类划分法就是将输入的数据按照输入需求划分为若干个子集,这些子集称为等价类
2、因果图中的恒等关系要求程序有一个输入和一个输出,输入和输出保持一致
3、决策表法是由因果图演变而来的
4、正交实验设计法比较适合复杂的大型项目
简答题:正交实验设计法测试用例的设计步骤
提取因子,构造因子状态表--->加权筛选,简化因子-状态表--->构建正交表,设计测试用例
第三章:白盒测试方法
逻辑覆盖法是白盒测试最常用的的测试方法,它包括语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖
*语句覆盖又称行覆盖、段覆盖、基本块覆盖。目的是测试程序中的代码是否被执行,它只测试代码中的执行语句,这里的执行语句不包括头文件、注释、空行等。语句覆盖在多分支的程序中,只能覆盖某一条路径,使该路径中的每一个语句至少被执行一次,但不会考虑各种分支组合情况。
习题:1、判定覆盖的作用是使真假分支均被执行
2、条件覆盖是指判定语句中的每个条件都要取真、假值各一次
3、在程序插桩法中,插入到程序中的代码称为探针
4、语句覆盖无法考虑分支组合情况
5、判定-语句覆盖不属于逻辑覆盖
简答题:目标代码插桩的三种执行方式:即时模式、解释模式、探测模式
第四章:性能测试
1、性能测试的指标:响应时间、吞吐量、并发用户数、TPS、点击率、资源利用率
2、压力测试也叫强度测试,它是指逐步给系统增加压力,测试系统的性能变化,使系统某些资源达到饱和或系统崩溃的边缘,从而确定系统所能承受的最大压力
3、压力测试与负载测试区别:负载测试是在保持性能指标要求的前提下测试系统能够承受的最大负载,而压力测试则是使系统性能达到极限的状态
4、LoadRunner工具主要由3个部分组成:VuGen(网络虚拟用户生成器)、Controller(控制)、Analysis(分析)
其他章节:XSS跨站脚本攻击(模仿)CSRF攻击(截止)
抓包工具:Fiddler