1.软件测试的定义
软件测试实际上就是一个实际输出与预期输出间的比较过程,用来鉴定软件的正确性、完整性、安全性和质量的过程。或许到这里,你会认为,软件测试是通过正确的例子去证明软件无错,但实际上,软件测试的目标与其相反,它是为了破坏,证错,尽可能寻找程序的错误。软件测试的经典定义正是如此:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。软件测试是提高软件质量的重要手段。如今的软件测试与整个开发流程融合为一体,已经成为了一个专业,需要一个专业的团队来承担。
2.软件测试的原则:
1) 测试应基于客户需求
所有的测试工作都应该建立在满足客户需求的基础上,从客户角度来看,最严重的错误就是软件无法满足要求。有时候,软件产品的测试结果非常完美,但却不是客户最终想要的产品,那么软件产品的开发就是失败的,而测试工作也是没有任何意义的。因此测试应依照客户的需求配置环境,并且按照客户的使用习惯进行测试并评价结果。
2)测试要尽早进行
软件的错误存在于软件生命周期的各个阶段,因此应该尽早开展测试工作,把软件测试贯穿到软件生命周期的各个阶段中,这样测试人员能够尽早地发现和预防错误,降低错误修复的成本。尽早地开展测试工作有利于帮助测试人员了解软件产品的需求和设计,从而预测测试的难度和风险,制订出完善的计划和方案,提高测试的效率。
3) 穷尽测试是不可能的
由于时间和资源的限制,进行完全(各种输入和输出的全部组合)的测试是不可能的测试人员可以根据测试的风险和优先级等确定测试的关注点,从而控制测试的工作量,在测试成本、风险和收益之间求得平衡。
4)遵循GoodEnough原则
GoodEnough原则是指测试的投入与产出要适当权衡