软件测试的目的
1)测试是程序的执行过程,目的在于发现错误;
2)一个好的测试在于发现至今未发现的错误;
3)一个成功的测试是发现了至今未发现的错误的测试;
软件测试的进程
Alpha测试
Alpha测试通常是阶段性的开发完成后所开始进行,一直持续到进入Beta测试阶段前的阶段。
在这个阶段中,通常是在软件由潜在用户/客户或一个独立的测试团队,采用现成软件,以模拟或实际操作性的黑盒测试和灰盒测试进内联部验收测试。
Beta测试
当Alpha阶段完成后,开发过程进入到Beta阶段。在Beta阶段,用于Beta测试的产品被发布(release)到一部分受控制的公司外部人员手中,通过这部分受控制的外部人员的测试和反馈,Beta阶段可以尽量发现产品中存在的缺陷和错误。在某些情况下,Beta版本可能被发放到范围更广的外部人员手中(例如,通过网站下载或是其他方式面向公众发放)。
Beta阶段的测试主要使用黑盒测试技术。当然,在Beta阶段,测试人员仍然可以使用白盒测试技术对产品继续进行测试,但我们一般不认为这些测试是Beta测试的一部分。简单来说,我们认为Beta测试就是由一部分受控制的客户进行的黑盒测试。
Gamma测试
Gamma测试是一个很少被提及的非正式测试阶段,该测试阶段对应的是对“存在缺陷”产品的测试。考虑到任何产品都可以被称为“存在缺陷”的产品(测试只能发现产品中存在的问题,不能说明产品不存在问题),因此这个概念存在一定的不确定。
对Alpha和Beta测试常见的一个认识误区是“Beta测试=黑盒测试”。实际上,Alpha和Beta测试对应在软件产品发布之前的Alpha和Beta阶段,而白盒、黑盒和灰盒测试技术是从技术和方法层面对测试的描述,不应该将这两部分概念混淆。
软件测试的原则
1)应当将尽早地和不断地进行软件测试作为软件开发者的测试原则。
2)测试用例应由测试输入数据和与之对应的预期输出结果两部分组成。
3)程序员应避免检查自己的程序。
4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
5)充分注意测试中的群集现象。经验表明,测试后程序残存的错误数目与该程序中已发现的错误数目或检错率成正比。
6)严格执行测试计划,排除测试的随意性。
7)应当对每一个测试结果做全面的检查。
8)妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
软件测试的类型
功能测试 按照测试软件的各个功能划分进行有条理的测试,在功能测试部分要保证测试项覆盖所有功能和各种功能条件组合。
系统测试 对一个完整的软件以用户的角度来进行测试,系统测试和功能测试的区别是,系统测试利用的所有测试数据和测试的方法都要模拟成和用户的实际使用环境完全一样,测试的软件也是经过系统集成以后的完整软件系统,而不是在功能测试阶段利用的每个功能模块单独编译后生成的可执行程序。
极限值测试 对软件在各种特殊条件,特殊环境下能否正常运行和软件的性能进行测试。
特殊条件一般指的是软件规定的最大值,最小值,以及在超过最大,小值条件下的测试。
特殊环境一般指的是软件运行的机器处于CPU高负荷,或是网络高负荷状态下的测试,根据软件的不同,特殊环境也有过不同。
性能测试 性能测试是对软件性能的评价。简单的说,软件性能衡量的是软件具有的响应及时度能力。因此,性能测试是采用测试手段对软件的响应及时性进行评价的一种方式。根据软件的不同类型,性能测试的侧重点也不同。
软件测试与软件质量的关系
软件质量与软件过程的关系
软件质量:软件产品的特性可以满足用户的功能、性能需求的能力
软件过程:(即软件生命周期)软件声明周期中的活动,一般包括软件需求分析,软件设计,编码,测试,交付,安装和软件维护。
(备注:软件过程的优劣决定了软件质量的高低,好的过程是高效高质量的前提。人员和过程是决定软件质量的关键因素,高质量的人员和好过程才能得到好的产品、)
软件测试与软件过程的关系
在软件过程中注意把握测试的对象
软件测试在软件生存周期中的位置
(备注:软件测试在软件生存周期占有非常重要的位置,是对需求规格说明书,设计和编码的最后终审)
软件测试与软件质量的关系
软件测试是软件质量保证的重要手段,是对需求规格说明书,设计和编码的最后终审
更多精彩内容,请登录通(www.ck365.cn/baike/)