软件工程
软件测试的分类
考点导读: 软件测试是软件工程中最核心的内容,也是银保监专业课常考内容之一。主要考查学生对软件测试方法、工作原理的掌握。这个考点近几年连续考到,且题量较大。
从是否关心软件内部结构和具体实现的角度划(⭐⭐⭐⭐)
1.白盒测试
白盒测试又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。常见的方法是逻辑覆盖法。
2.黑盒测试
黑盒测试也称功能测试,通过测试来检测每个功能是否正常。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,检查程序功能是否按照需求规格说明书的规定正常使用,主要针对软件界面和软件功能进行测试。常用的方法包括:等价类划分、边界值分析、错误推测法、因果图、功能图。
从是否执行代码角度划分(⭐⭐)
1.静态测试
静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
2.动态测试
动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。
从软件开发的过程按阶段划分(⭐⭐⭐⭐)
软件开发过程中的软件测试主要可以分为以下几个阶段:
-
单元测试(Unit Testing):这是最早的测试阶段,主要针对程序中的最小可测试单元进行检查,如函数、方法或类等。目标是确保每个单元的功能都符合设计要求。
-
集成测试(Integration Testing):当各个单元测试通过后,这些单元会被集成到一起。集成测试的目标是发现并排除这些单元之间交互的问题。
-
系统测试(System Testing):系统测试是对整个系统或应用进行的测试。目标是验证系统是否符合预定的所有需求和规格。
-
确认测试:确认测试又称有效性测试。任务是验证软件的功能和性能及其他特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础
-
回归测试(Regression Testing):当系统中的一部分被修改后,回归测试会对整个系统进行重测,以确保修改没有引入新的错误或者导致其他部分出错。
-
验收测试(Acceptance Testing) :这是最后的测试阶段,目的是让客户或用户来确认系统是否满足约定的需求,是否可以部署上线。
(1)α测试: 在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误。
(2)β测试: 是用户公司组织各方面的典型终端用户在日常工作中实际使用beta版本,并要求用户报告异常情况,提出批评意见。
每个阶段都有其特定的测试目标和方法,通常会按照开发的流程顺序进行,以确保软件的质量和可靠性。