软件测试基础知识之三方测试原则

前言

在软件开发中,测试是确保质量的关键环节。程序员自测后,应由专业测试人员负责系统测试,用户进行验收测试,以实现最佳测试效果。专业测试人员具备客观性、充足的人力和专业性,能更全面地发现错误,确保软件质量。

1 软件测试基础知识之三方测试原则

软件开发中,程序员自测后,应该由专职测试人员进行系统测试,由用户进行验收测试。从而达到最有可能发现错误的“最佳测试效果”

1.1 三方测试

软件开发周期中,参与测试的人员有程序员、测试员、用户。根据《软件测试原则7:分阶段测试》可知,程序员主要负责单元测试和集成测试,测试员负责系统测试,用户负责验收测试。其中,系统测试占测试阶段的大部分时间。

1.2 程序员自测

通常情况下,程序员通过单元测试或集成测试进行自测,验证程序中没有错误后,转给测试员进行系统测试。程序员使用的测试数据,通常是验证程序正常后,就完成自测。而测试员的测试具有破坏性,作为测试人员要找出程序中存在的错误

系统测试时,程序员最好不测试自己开发的程序:

(1)客观性

测试人员在软件测试中,要保持客观的态度,这样才能够充分地发现软件中的错误,又不会受到所发现的错误的影响。若程序员自己测试自己的程序,则不符合客观性的要求。

(2)人力分配

程序员投入的测试没法和专职的测试人员相比,专职测试人员可以投入更多的精力在测试上面。

(3)专业性

软件测试需要掌握专业测试知识,熟练使用测试工具,由积累了丰富的测试经验,并不断进行工程实践的专业人员来承担。软件测试是一种高技术含量的工作,程序员难以在完成开发工作的同时还能精通测试工作

(4)权威性

人们往往相信专业的测试机构/人员给出的测试结果。程序员自己测试的结果难让人信服。

所以,从软件测试的角度出发,程序员做好单元或集成测试即可,之后的系统测试,不适合程序测试自己开发的程序,应该由专职的测试员进行。

1.3 使用原则

为了达到最有可能发现错误的“最佳测试效果”。在程序员自测后,应该由三方(即测试专职人员)进行系统测试,而不是自己测试自己编写的程序员,也不是参与验收的用户进行系统测试。

(1) 程序员通常验证程序正确,而不善于发现程序的错误。

(2) 多数程序员缺少严格正规的测试职业训练。

(3) 多数程序员无良好的BUG 跟踪和回归测试习惯。