软件测试的分类方法有很多种:
1.按测试内容分,分为以下几个类型
(1)功能测试。功能测试基于需求和功能,检查软件是否达到原定的功能标准而不必理会软件内部的结构即代码的实现。
(2)性能测试。着重于软件的运行速度、负荷、兼容性、健壮性(容错能力/恢复能力)、安全性、可靠性等。
(3)接口测试。程序员对各个模块进行系统联调的测试,包含程序内接口和程序外接口测试。这个测试,在单元测试阶 段进行了一部分工作,而大部分都是在集成测试阶段完成的。由开发人员进行。
2.按测试阶段来分,分为以下几种类型
(1)单元测试
(2)集成测试
(3)系统测试
(4)alpha测试
(5)beta测试
(6)确认测试
3.按测试技术来分,分为以下几个方面
(1)白盒测试
(2)黑盒测试
4.按测试手段来分,分为以下几个方面
(1)手工测试
(2)计算机辅助测试
软件测试的几大原则:
1.软件开发人员即程序员应当避免测试自己的程序
测试模型---W模型不管是程序员还是开发小组都应当避免测试自己的程序或者本组开发的功能模块。若条件允许,应当由独立于开发组和客户的第三方测试组或测试机构来进行软件测试。但这并不是说程序员不能测试自己的程序,而且更加鼓励程序员进行调试,因为测试由别人来进行可能会会更加有效、客观,并且容易成功,而允许程序员自己调试也会更加有效和针对性。
2. 应尽早地和不断地进行软件测试
应当把软件测试贯穿到整个软件开发的过程中,而不应该把软件测试看作是其过程中的一个独立阶段。因为在软件开发的每一环节都有可能产生意想不到的问题,其影响因素有很多,比如软件本身的抽象性和复杂性、软件所涉及问题的复杂性、软件开发各个阶段工作的多样性,以及各层次工作人员的配合关系等。所以要坚持软件开发各阶段的技术评审,把错误克服在早期,从而减少成本,提高软件质量。
3.对测试用例要有正确的态度:第一,测试用例应当由测试输入数据和预期输出结果这两部分组成;第二,在设计测试用例时,不仅要考虑合理的输入条件,更要注意不合理的输入条件。因为软件投入实际运行中,往往不遵守正常的使用方法,却进行了一些甚至大量的意外输入导致软件一时半时不能做出适当的反应,就很容易产生一系列的问题,轻则输出错误的结果,重则瘫痪失效!因此常用一些不合理的输入条件来发现更多的鲜为人知的软件缺陷。
4.人以群分,物以类聚,软件测试也不例外,一定要充分注意软件测试中的群集现象,也可以认为是“80-20原则”。不要以为发现几个错误并且解决这些问题之后,就不需要测试了。反而这里是错误群集的地方,对这段程序要重点测试,以提高测试投资的效益。
5.严格执行测试计划,排除测试的随意性,以避免发生疏漏或者重复无效的工作。
6.应当对每一个测试结果进行全面检查。一定要全面地、仔细地检查测试结果,但常常被人们忽略,导致许多错误被遗漏。
7.妥善保存测试用例、测试计划、测试报告和最终分析报告,以备回归测试及维护之用。
在遵守以上原则的基础上进行软件测试,可以以最少的时间和人力找出软件中的各种缺陷,从而达到保证软件质量的目的。