1.1 软件测试的目的
软件测试的最终目的是检验产品软件是否满足用户需求。一般包含以下内容:
①验证软件是否满足开发合同、开发计划、需求规格说明和设计说明等规定的软件质量要求
②由于难以消除软件中的所有错误,因此软件测试的目的就是发现更多的软件缺陷,消除他们,提高软件质量
③软件测试不仅仅是为了发现软件缺陷,还是对软件质量评估的过程。测试结果数据可以未软件产品质量测量和评估提供依据
④通过分析如阿健缺陷产生的原因,可以有针对性地进行软件过程改进
1.2 软件测试过程
制定测试计划→测试设计→测试准备→测试执行→测试评估→整体项目测试总结
1.3 软件测试分类
①按测试执行阶段划分:单元测试、集成测试、系统测试、验收测试
②按测试技术划分:黑盒测试、白盒测试
③按测试状态划分:静态测试、动态测试
④按用户需求划分:功能测试、非功能测试
⑤其他:回归测试、冒烟测试、随机测试
1.4 软件测试的过程模型
① V模型
V模型是软件开发瀑布模型的变形,是最基础的测试模型。V模型的测试策略包含低层和高层测试,低层测试是为了保证代码和设计的正确性,高层是为了保证系统满足用户需求。单元测试和集成测试主要验证软件是否满足设计要求,系统测试是为了验证系统功能和性能是否达到质量要求的指标,验收测试是确定最终的软件产品是否满足用户的需求。
V模型的明显局限性:他只是将测试看作编码之后的一个阶段,主要针对程序寻找错误的活动,从而忽视了测试活动对需求分析和系统设计等前期开发活动的验证和确认功能。
② W模型
W模型相对V模型增加了软件开发阶段中应同步进行的软件测试验证和确认活动。W模型由两个V模型组成,代表开发过程和测试过程,明确表明测试和开发之间的并行关系。W模型还强调测试的对象不仅仅是程序,还应当包括软件需求和软件设计。
W模型优点:有利于尽早和群面地发现软件缺陷。
W模型局限性:将需求、设计、编码等开发工作都看成串行活动,测试和开发也保持一种线性关系,前面的一个阶段完成后,才可以开始下一个阶段的工作。
TODO //H模型、X模型、前置测试模型