图1 软件测试的生命周期
软件测试在软件生存期中横跨两个阶段。在软件编码阶段,当编写出一个模块后,通常要对它进行必要的测试(称为单元测试),这时测试与编码属于同一个阶段。在编码阶段结束后,对软件系统还要进行各种综合测试(集成测试与系统测试),这是一个独立阶段,即软件测试阶段。在这个测试阶段又有两种性质不同的测试:研制单位内部进行的集成测试和系统测试与用户(或第三方)进行的验收性测试。
在软件测试生命周期内,错误在软件开发的每个阶段都可能被带入。在软件测试中,某些错误被发现、分类、隔离,最终被纠正。由于软件不断被修改,所以这个过程是一个反复进行的过程。
三、测试方法和流程
软件测试方法主要有黑箱测试方法与白箱测试两类。黑箱测试又称功能测试、数据驱动测试或基于规格说明的测试,是在完全不考虑程序内部结构和内部特性的情况下,检查输入与输出之间关系是否符合要求。白箱测试又称结构测试、逻辑驱动测试或基于程序的测试,是在已知程序内部结构的情况下设计测试用例的测试方法。显然,白箱测试适合在单元测试中运用,而在独立测试阶段多采用黑箱测试方法。
测试用例(Test case)实际上是对软件运行过程中所有可能存在的目标、运动、行动、环境和结果的描述,是对客观世界的一种抽象。设计测试用例即设计针对特定功能或组合功能的测试方案,并编写成文档。测试用例应该体现软件工程的思想和原则。测试用例的选择既要有一般情况,也应有极限情况以及最大和最小的边界值情况。因为测试的目的是暴露应用软件中隐藏的缺陷,所以在设计选取测试用例和数据时要考虑那些易于发现缺陷的测试用例和数据,结合复杂的运行环境,在所有可能的输入条件和输出条件中确定测试数据,来检查应用软件是否都能产生正确的输出。
软件测试所得到的数据经过处理以后,可以用来作为评估软件系统是否满足用户需求的依据。软件测试阶段的信息流如图2所示:
文章来源于领测软件测试网 https://www.ltesting.net/