软件测试定义:软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程
软件测试意义:没有经过测试的软件很难在发布之前知道该软件的质量 就好比 ISO 质量认证一样 软件同样也需要质量的保证 这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题 及时让开发人员得知并修改问题 在即将发布时 从测试报告中得出软件的质量情况。
软件测试阶段划分:
按照开发阶段分类:单元测试、集成测试、系统测试、验收测试
单元测试:针对每个单元的测试,以确保每个模块功能正常工作为目标
集成测试:对已测试过的模块进行组装,进行集成测试。目的在于检验与软件设计相关的程序结构问题
系统测试:检验软件产品能否与系统的其他部分(比如硬件、数据库及操作人员)协调作
验收测试:检验软件产品质量的最后一道工序。主要突出用户的作用,同时软件开发人员也有一定的参与
验收测试可以分成 Alpha 测试和 Beta 测试。Alpha 测试是由用户在开发环境下完成的测试,Beta 测试是由用户在用户环境下完成的测试。
软件测试的基本方法:黑盒测试、白盒测试
黑盒测试:
优点:
1.对于较大的代码单元来说,黑盒测试比白盒测试效率较高。
2.测试人员不需要了解细节,包括特定的编程语言。
3.测试人员和开发人员是彼此独立的。
4.从用户的角度测试,很容易被理解和接受。
5.有助于暴露与任务规格不一致或者有歧义的地方。
6.测试用例可以在需求规格完成之后马上执行。
缺点:
1.测试的只有一小部分,不可能测试全部输入。
2.没有清洁和简明的需求规格说明书,测试用例很难设计。
3.如果测试人员,不被告知开发人员已经执行过的用例,在测试数据上会存在不必要的重复。
4.很多测试路径没有测试到。
5.不能直接对特定程序段进行测试,改程序段可能隐藏更多错误。
6.大部分和研究相关的测试都是直接针对白盒测试的。
白盒测试:
优点:
迫使测试人员去了解软件的实现 检测代码中的每条路径和分支 揭示隐藏在代码中的错误
对代码的测试进行比较彻底
缺点:
白盒测试投入较大,成本较高 白盒测试不验证规格的正确性 无法检查代码中遗漏的路径和数据敏感性错误黑盒测试
原文:https://www.cnblogs.com/qqxin/p/11484509.html