软件测试是为了发现错误而执行程序的过程,为保证软件质量而采取的措施。
或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(输入以及预期的输出结果),并利用这些测试用例去运行程序,以发现程序中的错误。
二种思维:正向:验证程序是否正常执行以及是否达到用户预期的需求。
反向:为发现错误或缺陷而进行的一系列活动。
发现软件缺陷,提高软件质量。
以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正错误和缺陷提高软件质量,回避因软件发布后由于潜在的缺陷和错误造成的隐患带来的商业风险。
需求文档是否符合用户要求、是否符合逻辑、技术是否能实现。
测试设计是否符合全部需求以及设计是否合理。
是由一个用户在开发环境下进行的测试,可以是公司内部的用户在模拟实际操作环境下进行的受控测试,α测试不能由程序员和测试员完成。α测试发现的错误,可以在测试现场立即反馈给开发人员,由其分析和处理。目的是评价软件的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。可在编码结束/子模块测试完成之后开始。有关手册应该在测试前完成。
是软件的多个用户在实际使用环境下进行的测试。开发者通常不在当前。不能由程序员和测试员来完成。因此是开发者无法控制的环境下进行的软件现场应用。同时,用户记录下所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者做修改,最终将软件产品交付给全体用户使用。Β测试更注重于产品的支持性,包括文档、客户培训和支持产品的生产能力。α测试ok后才开始β测试。
驱动模块大多数称为是“主程序”,它接受测试数据并将数据传递到被测试模块,单元测试一个函数单元时,被测单元本身是不能独立运行的,需要为其传送数据,为此写驱动。
驱动模块主要完成以下内容:
接受测试输入;
对输入进行判断;
将输入传递给被测试单元,驱动被测单元执行;
接受被测单元执行结果,并对结果进行判断;
将判断结果作为用例执行结果输出测试报告。
比如对函数A做单元测试时,被测的函数单元下还包含函数B,为了更好的定位错误,就要为函数B写桩,来模拟函数B的功能,保证其正确。
总结:单元测试中,测试一个模块时,需要设计驱动模块和桩模块。
运行被测试单元时,为了隔离单元,根据被测试的接口,开发相应的驱动程序和桩程序。
驱动模块:为模拟被测试单元的上级模块,能调用被测试模块。
桩模块:用以模拟被测模块工作过程中所调用的下层模块,桩模块由被测模块调用,一般只有很少的数据处理,以便于检测被测试模块下级模块的接口,他俩可以隔离被测试单元,又能使测试继续下去。
又称为逻辑驱动测试,结构测试。知道产品内部的工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。
主要方法:逻辑驱动测试、基路测试。
白盒测试分为静态和动态测试2类:
静态:不执行程序,静态结构分析法、代码检查法、静态质量度量法。
动态:基本路径测试、逻辑覆盖(语句覆盖、判断覆盖、条件覆盖、判断-条件覆盖、条件组合覆盖、路劲覆盖、)、域测试、符号测试等。
软件缺陷的等级可以用严重性和优先级来描述:
严重性:衡量缺陷对客户满意度影响的满意程度,分为
致命错误,可能导致本模块以及其他相关的模块异常,死机等问题;
严重错误,问题局限在本模块,导致模块功能失常或异常退出;
一般错误,模块功能部分失效;
建议模块,有问题提出人对测试模块的改进建议。
优先级:缺陷被修复的紧急程度;
立即解决(P1级):缺陷导致系统功能几乎不能使用或者测试不能继续,需立即修复;
高优先级(P2级):缺陷严重,影响测试,需优先考虑;
正常排队(P3级):缺陷需要正常排队等待修复;
低优先级(P4级):缺陷可以在有时间的时候被纠正。
作者:IT-cute
原文链接:https://blog.csdn.net/brawly/article/details/109244278#comments_16871128