1.4 测试人员的工作效率取决于他对软件和项目的理解,而不是他掌握的测试技术
我曾经长期测试一个网络应用。当我离开这个项目时,测试经理安排一个测试员工来接替我。他刚刚入职,对被测软件和业务领域都不了解,在工作中遇到了许多困难。在我加入新团队后,我还通过电话数次回答了他的问题。后来,我反思了当时的情况。作为一个测试工程师,我的工作效率明显优于接替我的同事,主要原因包括以下几点。
我理解产品。我知道它的业务目标,了解它通过什么方法去实现目标。因此,我能够快速地制定测试方案。
我理解用户的期望。我知道哪些功能绝对不能出错,需要仔细测试,也知道哪些功能允许一些瑕疵,即便出错,也可以在下一个版本(通常在3个月之后发布)中修复。因此,我能够更好地分配测试时间。
我理解产品的架构。通过阅读产品源代码,我知道哪些模块容易出现哪些缺陷。因此,我可以针对不同的模块采用有针对性的测试策略。
我知晓如何回避浪费时间却没有收益的任务。例如,我曾经尝试用自动化测试用例去测试用户界面,但是发现此类自动化测试很不稳定,需要很高的维护代价,却不能发现错误。于是,我只为Web服务编写自动化测试用例,用手工测试来测试用户界面。
我了解产品元素和项目团队。当出现缺陷时,我知道如何阅读系统日志发掘蛛丝马迹;当我遇到困难时,我知道向哪位程序员或测试人员求助。因此,我可以深入挖掘并快速推进。
我在原先的团队工作了很长的时间,与同事建立了良好的关系。当我提出一些可测试性的建议时,比较容易得到程序员的支持。
从以上几点不难看出,我能够更有效地测试,其主要原因不是我掌握更多的测试技术,而是我更了解软件产品、业务领域和项目环境。通过逐点分析,可以得到如下启示。
产品是一种解决方案,如果没有解决问题,它就是无用的[Kaner12]。测试人员需要了解软件产品和业务领域,才能设计有效的测试。
测试是一种信息服务,要了解服务对象的需求。如果用户不能容忍某些错误,测试人员就需要仔细测试相关功能;如果用户对一些瑕疵并不在意,测试人员就不必在此花费过多的时间。只有了解服务对象的优先级,才能更好地设定测试工作的优先级。
不同的模块采用不同的技术,拥有不同的典型错误。只有了解软件实现,才能设计差异化且有针对性的测试用例。
测试设计可能包含错误,测试人员需要从错误中吸取经验和教训,避免重蹈覆辙。
当测试工作遇到困难时,测试人员需要知道从哪里寻找信息。了解被测产品和测试工具能够提供的信息,了解哪位同事知道更多内幕,会节省时间。
“人脉”有时候会极大地提高测试人员的工作效率。测试人员需要与程序员和测试同事保持良好的关系。达成协作关系的关键之一是测试人员能够为同事们提供高质量的信息服务。
在职业生涯中,测试人员总是会遇到新的软件、项目和团队。他应该养成一种好的思维方法和测试风格,以便快速地学习并理解产品和项目。
实施高效的测试需要很多条件。熟练地掌握测试技术是一个很重要的因素,但很少会是决定性的因素。只有充分掌握软件产品和项目环境,测试技术才能找到大放光彩的舞台。
【责任编辑:book TEL:(010)68476606】
点赞 0
本文通过一个实例展示了测试人员的工作效率主要取决于对软件、业务和项目的理解,而非单纯的测试技术。理解产品业务目标、用户期望、软件架构以及知道何时规避无效任务,都是提高测试效率的关键因素。测试人员需要快速适应新产品和项目,充分利用人脉和信息资源,提供高质量的测试服务。

被折叠的 条评论
为什么被折叠?



