测试人员如何提高技术水平

  • Ben Linders
  • 刘志勇

2017 年 7 月 5 日

话题:测试语言 & 开发文化 & 方法

在测试过程中,能够成功应用测试技术的测试人员更有价值,因为他们提高了测试团队的质量和生产率。为了提高技术水平,测试人员可以学习一些代码相关知识,他们应该了解如何处理、解析文本文件,并知道在其应用平台如何使用最重要的分析工具。

在 2017 春季在线测试会议(Spring Online Testing Conference 2017)上,Unity services 的质量总监 Alan Page 就技术性测试的不可辩驳的事实做了主题演讲。InfoQ 为此次会议准备了问答、摘要和文章。

组织在线测试会议的倡议于 2016 年发起,2017 年春季会议是 6 月 13~14 日举办的第二次活动。

OnlineTestConf 首次把个人学习和网络会议等特性引入了专业 QA 相关会议,这就免去了行程安排和旅行花费的麻烦。在 OnlineTestConf 出席会议是免费的,这意味着那些参与测试和测试社区的人,都可以免费参会。

InfoQ 在 Alan Page 做完技术性测试的演讲之后,对他进行了采访。

InfoQ:请问什么是技术性测试?

Alan Page:这是智者见智仁者见仁的问题之一。对我来说,技术性测试只不过是测试过程成功应用测试技术而已。当然,这意味着除了使用工具以外,还可以包括其他测试设计方法,比如基于模型的测试,或者客户使用情况分析等等。

InfoQ:为什么测试人员应该再提高技术水平?这对组织和他们有什么好处吗?

Page:简而言之,能够使用更多技术的测试人员,将会成为他们团队中更有价值的成员。曾与我共事的最有价值的测试人员,他们所创建的工具或过程(如负载测试工具或者代码评审指南)同时提高了团队的质量和生产率。

一般来说,技术工作并不适合那种只专注于一件事情的人。相对于软件工程团队中的其它成员,测试人员对知识的掌握不仅要精通,而且范围要广泛。也就是说,他们是软件测试和质量检测领域的通才。

InfoQ:如果组织希望他们的测试人员的技术水平更上一层楼,组织可以为此做些什么?

Page:学习和错误都值得鼓励和支持。要营造一个鼓励实验的环境,在这里,学习和回顾的努力都值得鼓励并奖赏。创建一个框架或者流程,让员工知道期待的结果是什么,打破条条框框,让他们去学习和创新。

InfoQ:请问您有哪些工具和技术可以推荐吗?

Page: 这样的清单列都列不完。但一般来说,我认为可以把范围缩小到这三类:

  1. 学习代码相关知识。你不需要成为超级码农,但你应该至少了解它是如何发挥作用(以及不起作用),如果能够编写几个脚本或者独立读懂简单的函数,那身价就翻倍了。
  2. 知道如何处理、解析文本文件。这包括了解像 grep 的工具使用(或者某些情况下的 Excel),以及知晓如何使用文本编辑器来处理和分析文件。例如,你的 Web 服务器可能会在一天内甚至一小时内生成一个或多个数据日志,至少你能够编写一个快速脚本,检索出包含“ error ”的信息,并发布到网站或者发送电子邮件,或者查找导致错误情况的特定操作序列。若用肉眼在巨量日志文件找寻错误字符串是徒劳无功的,而且会引起眼睛疲劳。
  3. 在你的应用平台上如何使用最重要的分析工具。如果你们正在构建的是针对 Windows 的桌面应用,你可以安装 Sysinternals Suite 并学习如何使用像 procmon 这样的工具来弄清楚你的应用程序正在做什么。如果你正致力 Web 应用,了解如何使用 Fiddler 或者 F12 键调试程序来理解发生的事情。你不必成为行家能手,但至少要能够理解隐藏在用户界面之后究竟发生了什么事。

了解你的开发人员使用什么工具,并寻找在线教程。使用 Twitter 或者像 ministryoftesting.com 那样的网站,来寻找与你的应用程序类似的其他测试人员,并向他们询问使用的什么工具。优秀的测试人员就需要不断地学习,去探索那些还不知道的东西。

InfoQ:测试人员如何才能提高技术水平?

Page:不断保持学习状态,总是尝试各种不同的工具。了解如何(以及何时)应用这些工具,使测试工作和你的团队更为高效。

查看英文原文How Testers Can Become More Technical


感谢冬雨对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

测试语言 & 开发文化 & 方法