测试的意义
目的:------------------------------------
定义:在规定的条件以及非合规的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程;
业务:就是替用户受过,测试的最终目的是确保最终交给用户的产品的功能符合用户的需求,把尽可能多的问题在产品交给用户之前发现并改正;
1)软件测试是为了发现错误而执行程序的过程。
2)测试是为了证明程序有错,而不是证明程序无错。(发现错误不是唯一目的)
3)一个好的测试用例在于它发现至今未发现的错误。
4)一个成功的测试是发现了至今未发现的错误的测试。
测试是不可穷尽的,测试人员不可能发现系统中所有的缺陷,每个版本发布前也不可能保证所有已知的缺陷都会得到修复,所以反复测试是为了发现更多的缺陷,预防风险。
测试人员跟踪需求、验证质量、提交缺陷的同时也促进了开发人员技术的提升,在这个过程中牵扯到项目流程管理的问题,一个优秀的测试在这个过程中会建立一套完成的体系来提高整个团队的工作效率从而来降低开发成本进而把控产品质量,但需明确的是,软件的质量不只是测试人员来把关,最终质量好坏是整个团队的结果。
软件测试整体是验证功能的实现、可用性,检查程序的错误,最终目的是为了提高用户体验;在测试过程中,有一些缺陷级别低,解决与否都不影响用户使用,且缺陷存在本身用户也不会有感知,这时就需要从用户体验的角度去考量是否要定义该类问题为缺陷。
作用:----------------------------
-
产品质量评估:为软件产品发布(验收测试)、软件系统部署(性能规划测试)、软件产品鉴定(第三方独立测试)和其他决策提供产品质量所需的各种信息和报告。
-
持续的质量反馈:通过持续的测试(需求评审、设计评审、代码评审)对产品质量提供持续的、快速的反馈,从而在开发中不断地及时解决质量问题,改进产品质量、减少各种返工。最大限度地降低软件开发的劣质和成本。
-
客户满意度提升:通过测试发现要交付产品的各种缺陷,降低或消除产品的质量风险,提高客户的满意度。
-
缺陷预防:分析缺陷,找根本原因(流程缺失、不遵守流程、错误的行为方式、不良习惯等原因),总结出软件缺陷模式,采取措施纠正深层次问题,避免将来再犯同样的错误。