软件测试的定义及分类总结

一 软件测试的定义:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 二 测试的对象:程序,数据,文档。

一.软件测试的定义:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

二.测试的对象:程序,数据,文档。

 

三.测试分类

1.从具体实现分

白盒测试:又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。测试者必须全面了解程序内部逻辑结构、对所有逻辑路径进行测试,所以白盒测试是穷举路径测试。

黑盒测试:也称功能测试。在完全不考虑程序内部结构和内部特性的情况下,对程序进行测试,判断程序是否符合需求规格说明,并能正常使用。

灰盒测试:是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑。

 

2.从是否执行程序的角度分

静态测试:指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。

动态测试:指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。

 

3.从软件开发过程阶段分

单元测试:又称模块测试。指对软件中的最小可测试单元进行检查和验证。通常是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。

集成测试:又称组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。之所以进行集成测试,是因为某些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。所以集成测试通常会对模块间的接口进行测试,以保证组装后作为一个整体亦能正常工作。

确认测试:又称有效性测试。是指在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。

系统测试:是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。比较常见的、典型的系统测试包括恢复测试(主要测试系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误并重新启动)、安全测试、压力测试

验收测试:验收测试是部署软件之前的最后一个测试操作,是技术测试的最后一个阶段,也称为交付测试。验收测试是以用户为主的测试(软件开发人员和QA人员也应参加),由用户参加设计测试用例,使用生产中的实际数据进行测试。

回归测试:指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

Alpha测试:是指软件开发公司组织内部人员模拟各类用户对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。α测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的 用户操作方式。经过α测试调整的软件产品称为β版本。

Beta测试:是由软件的多个用户在实际使用环境下进行的测试,这些用户返回有关错误信息给开发者。测试时,开发者通常不在测试现场。因而,β测试是在开发者无法控制的环境下进行的软件现场应用。在β测试中,由用户记下遇到的所有问题,包括真实的以及主观认定的,定期向开发者报告。只有当α测试达到一定的可靠程度时,才能开始β测试。它处在整个测试的最后阶段。

 

四:验收测试,Alpha测试,Beta测试的区别

验收测试:以用户为主,开发和QA也应该参加,一般在用户所在地进行。验收测试的主要目的是为了发现”未实现的需求”,而非“发现缺陷”。

Alpha测试:开发环境下的测试,测试人员(公司内部人员或者用户等)在开发者的陪同下进行测试,并由开发者随时记录下错误情况和使用中的问题。

Beta测试:实际使用环境(或模拟实际使用环境)下的测试,开发人员通常不在现场,随便用户折腾,并由用户记录下遇到的所有问题,定期向开发者报告。

 

注:以上内容均来自网上,由作者重新整理。