1.1 什么是测试?
软件测试评估软件质量,有助于降低软件运行失败的风险。
软件测试是一系列发现缺陷和评估软件产品质量的活动。这些软件产品在被测试时称为测试对象。关于测试的常见误解是认为软件测试仅包含执行测试(即运行软件并检查测试结果)。其实,软件测试还包括其他活动,并且必须与软件开发生存周期保持一致。
测试:
验证,即检查系统是否满足指定要求。
确认,即检查系统在其操作环境中是否满足用户和其他利益相关方的要求。
测试可以是动态的或静态的。动态测试涉及软件的执行,而静态测试不涉及软件的执行。静态测试包括评审和静态分析。动态测试使用不同类型的测试技术和测试方法来生成测试用例。
测试不仅仅是技术活动。它还需要进行适当的计划、管理、估算、监测和控制。
1.1.1 测试目的
典型的测试目的为:
• 评估工作产品,例如需求、用户故事、设计和代码
• 触发失效并发现缺陷
• 确保所需的被测对象的覆盖率
• 降低软件质量不足的风险级别
• 验证是否已满足指定需求
• 验证测试对象是否符合合同、法律和监管要求
• 向利益相关方 供信息,使他们能够做出明智的决策
• 建立对被测对象质量的信心
• 确认被测对象是否完整并按利益相关方的预期工作
根据不同的情况,测试的目的可能会有所不同;其中包括被测试的工作产品、测试级别、风险、遵循的软件开发生存周期(SDLC)以及与业务环境相关的因素,例如公司结构、竞争考虑因素,或上市时间。
1.1.2 测试与调试
测试可以触发由软件缺陷引发的失效(通过动态测试),也可以直接发现测试对象中的缺陷(通过静态测试)。
当动态测试触发失效时,调试涉及查找失效原因(缺陷)、分析并消除这些原因。
典型调试过程包括:
• 重现失效
• 诊断(找到根本原因)
• 修复失效的原因
随后的确认测试将检查修复是否解决了问题。确认测试最好是由执行初始测试的同一个人来完成。还可以执行后续的回归测试,以检查修复是否导致测试对象的其他部分出现失效。
静态测试是为了发现缺陷,而调试则是为了消除缺陷。因为静态测试是直接发现缺陷,并且不会导致失效,所以不需要重现或诊断。
原创文章,作者:iTestCat,保留所有权利,禁止转载,如若转载,请联系作者!