首先我们需要了解测试工具,目前测试工具的种类很多,我想大致可以分成2种,一种为自动化或者辅助测试工具,主要有大家熟悉的winrunner,loadrunner等,另一种是测试管理工具,主要是对测试用例的管理以及bug的追踪的工具。
其次测试工具与软件测试工作的关系,在讨论这个问题之前,我们先看看什么是测试软件测试,软件测试是为了发现程序中的错误而执行程序的过程,所以测试的目的是证明程序的错误。为了达到此目的,在软件测试工作中测试人员使用了各种测试方法,而测试工具因此产生。目前国内大部分软件企业还是以黑盒测试为主,黑盒测试的局限性在于需要花大量的时间和人力,进行重复性的操作,无法保证对程序的完全覆盖,同时黑盒测试无法保证测试人员能在测试中发现每个细小的bug,以及很难对偶发的问题进行重现、追踪。而测试工具的使用克服了这些黑盒测试的缺陷,可见测试工具对软件测试起到了重要作用。
测试工具固然对软件测试工作有重要作用,但是不代表学会了使用测试工具能成为一个好的软件测试工程师。既然是一种软件工具,那学会使用它不是一件困难的事,因为软件工具也是软件,软件的特点是用简单的方式让使用者能很快上手,所以一般工具有丰富的快捷按键设置。像word,我相信很多人自己摸索,只看了些初级教程能应用自如,同时在使用中不断发现其更加实用好用的功能。软件测试工具也是这样,当你工作中需要使用到它,那么你学会掌握它其实是一件很容易的事情。而如果没有使用环境,只是去看工具的使用手册,一般总是云里雾里,觉得似乎很高深。所以我觉得没有必要因为目前工作不涉及到软件测试工具,而盲目去学习软件测试工具,并要求自己达到熟练掌握的程度,我想只需要了解每个测试工具对测试工作的作用、帮助,用于什么方面的测试即可。
目前测试行业,大部分公司还是黑盒测试,使用测试工具的公司一般分为2类,一类是小公司,使用盗版的测试工具软件,这类公司多数会在招聘信息上要求熟练掌握某个测试工具,希望求职人员能以快速度投入测试工作,另一类是上市公司,公司产品符合Mercury或者Rational等大型测试工具公司的产品进行自动化测试,使用正版测试工具,有良好的测试工具培训机制,对招聘时更注重求职人员的测试能力。而在测试行业中还有大部分企业不使用具有版权的测试工具,而自行研发测试工具,来帮助提高测试效率,这部分企业一般规模较大,大型测试工具对其开发产品测试不能起到重要作用。
测试工具的范围很广,的测试工程师应该会根据项目,制定测试计划,使用需要的测试工具。正如之前所说测试工具是为了提高测试的效率,那所有用于实现此目的的与测试相关的辅助工具都可以称之为测试工具。我曾经在测试STK功能的时候,自己写了一个测试工具,此工具可以按照我的需要生成不同的STK主动式命令脚本,来模拟SIM发出的各个STK命令,这样的方法可以使得测试不需要因为sim卡上STK功能的局限而无法全面测试。所以测试人员拿到产品开发书后应该思考如何完整测试,哪些测试工具的使用可以提高测试效率,甚至是如何开发一个适合自己公司项目测试工作的测试工具来帮助完成测试。
在软件测试业逐步走向成熟的,测试工具的使用将对于企业保证产品品质,提高测试水平起到决定性的作用。作为一位测试人,我们应该时刻思考如何将测试工具在工作中更好的运用。