软件测试的重要性现在已经被人们广泛认识和了解,近两年,众多的软件公司开始将软件测试外包出去,由第三方专业的测试公司进行测试,客观地测试和报告软件Bug。有独立的软件测试第三方的出现,好处是能严格地掌控软件质量,减少维护成本。由于涉及代码的保密性,几乎所有软件外包测试都是“黑盒测试”。所谓“黑盒测试”,是指已知产品所应具备的功能,通过测试来检测每个功能是否都能正常使用。在测试时,完全不考虑程序内部结构和内部特性的情况下,测试者只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

  软件测试职业发展状况

  由于我国IT业劳动力成本相对较低,因此一些国际大公司如微软、IBM等,纷纷把“黑盒测试”外包出去,交给国内专业的软件测试公司来做,主要对其产品进行本地化测试和功能性测试。我国软件外包测试行业虽起步较晚,但发展迅速,已有多家专门从事这方面的测试公司,规模比较大的有文思创新、博彦科技、天海宏业等。

  目前国内测试人才奇缺,调查数据表明,现在软件测试岗位上从业技术人员有三万多名,而具备五年以上从业经验的软件测试工程师不超过一万人,软件测试人才的缺口超过20万,在未来5~10年中,这一数字还将继续增大。软件测试职业前景非常广阔,有两年工作经验的软件测试人员,月薪一般都能够达到4000~5000元左右。

  揭开“黑匣子”中的秘密

  笔者在一家软件外包测试公司工作,每日的工作是对软件进行本地化测试。根据分配的测试任务和提供的测试文档进行软件测试,找出软件中的缺陷。所谓本地化测试,是指对已经本地化的软件进行测试,主要检查针对特定目标区域性或区域设置的产品本地化质量,它只能在产品的本地化版本上进行。在测试之前需要根据测试文档的要求,搭建好相应的软硬件测试环境。通常测试中至少需要两台计算机,一台为工作机,用来查看测试脚本、文档;一台为测试机,用来做测试,运行测试脚本。

  本地化测试中主要的Bug类型包括功能性和可用性两方面,其中前者指影响产品的功能以及不能实现设计要求的功能,后者则涉及到影响UI(User Interface)的可用性问题,主要包括字符显示不完整、不正确,以及组件大小和位置引起的布局错误等。

  在测试中如果发现Bug,要及时提交软件缺陷报告给开发人员。测试人员还要随时追踪软件缺陷报告的状态,一旦开发人员修改了软件中的Bug,还要再对Bug进行重新测试,验证Bug已正确修复。当天的测试工作结束前,要填写每日测试报告,提供测试完成的进度信息,反映测试中发现的问题,并把报告提交给项目经理。

  看似简单的测试工作其实并不轻松。每天要完成测试的脚本数量相当多,而且在测试过程中会遇到各种意想不到的困难和问题。有些问题是测试人员对软件产品不熟悉及对测试脚本不理解造成的,还有些则是测试脚本同测试产品相脱节造成的。这需要测试人员有良好的沟通能力和团队精神,并且向有经验的测试工程师请教学习。当测试出现问题时,与其他测试人员多进行交流,大家集思广益,问题往往会得到很好的解决。

  作为一名的测试人员,要善于利用各种途径不断提高自己的业务知识水平。软件外包测试工作并不像外界宣传的那样枯燥乏味,它是一项充满挑战性的工作。通常测试的都是自己先前没有接触过软件产品,需要在短的时间内熟悉它并且能够操作及应用。测试中,不是所有的Bug都能很容易地找出,一定要耐心和细心才能找出这些Bug。每当发现软件中的一个Bug,自己会很有成感,只有当你真正投入到测试之中的时候,你才会发现其中的乐趣。