1、产生测试数据
在IT系统测试过程中,当数据库中只有少量数据时,程序可能没有问题,但是当真正投入到运用中产生了大量数据时就出现问题了,这往往是因为程序的编写没有达到,所以一定及早地通过在数据库中生成大量数据来帮助开发人员完善这部分功能和性能。所以在测试中经常需要构造基大量的基础数据,用于在测试时模拟用户交易、业务等历史的数据,需要把数据存储在数据库,且需要经常对基础数据进行恢复。
虽然可以使用商业的TestBytes(用于自动生成测试数据的强大易用的工具)工具产生基础数据,通过简单的点击式操作,就可以确定需要生成的数据类型(包括特殊字符的定制),并通过与数据库的连接来自动生成数百万行正确的测试数据,可以极大地提高测试工程师的测试效率。
我们经常使用两种方式产生基础数据:
(1)可以使用WinRunner、QTP、LoadRunner等工具产生数据,这种产生数据的速度比较慢,但是产生的数据最符合实际业务过程产生的数据,但是通常也需要维护大量的脚本和参数。这种方式对于产生少量的业务数据比较有好处。
(2)自己编写辅助产生数据的程序。通过首先了解业务数据在数据库中各种表的存储形式以及数据字典,通过编写程序,来直接向数据库表导入批量数据。也可以通过写存储过程来构造基础数据,外部程序调用存储过程。
2、Quantity Center使用经验
QC测试管理工具提供了从提取测试需求、测试用例到测试用例执行流程设计,到执行结果的记录、缺陷报告记录、处理过程、测试报告到测试中数据的统计等功能,可以把整个测试过程管理起来,使用非常方便。QC比原来的TestDirector在易实用性有了提高。QC测试管理工具中对测试需求的管理比较好,但是把系统需求进行单独进行管理,这样造成测试需求无法与系统需求进行对比,虽然可以通过在测试需求中通过目录和节点进行分离,但是无法真正做到系统需求变更对测试需求的影响的工具对比和统计。QC对测试用例的管理比较好,且提供测试用例和测试需求之间的相互关联。QC可以把设计的用例进行执行序列设计,执行在执行时可以按照设计的执行流执行测试。QC在缺陷管理上做的比较非常好。
QC可以对整个项目进行备份和恢复,但是无法做到自动备份。需要手工进行备份。所以在使用QC时,必须安排相关人员定期进行备份。在使用QC时如果误删除了测试用例,则不能进行恢复。我们在做某项目时就曾经出现过一位测试工程师想删除一个多余的目录,结果误选中了根目录,造成整个项目的测试被删除,幸好我们刚做过备份,没有造成很大的损失。
3、QuickTest Professional使用经验
QTP为录制/回放工具,主要用来进行功能测试。QTP在录制脚本时,最好不要录制太长的脚本,对于很长的业务,进行分段录制,分别测试,这样对于参数化和维护脚本比较方便。
在参数化时,要考虑不同参数取值的关联性,数据的唯一性,防止系统禁止重复的用户数据时造成脚本执行发生错误。
4、LoadRunner使用经验
Loadrunner性能测试工具已经成了事实上的性能测试指标结果的标准。使用该工具最重要的是设计测试目标,选择业务场景好进行测试,性能测试最重要的对测试出现的指标曲线进行分析,这需要丰富的经验和知识点才能做出正确的分析。
5、自动化测试工具方案建议
自动化测试是通过自动执行测试脚本,使测试人员在更短的时间内能够更快地完成更多的软件测试,并提供以更高的频率执行测试的能力,从而有效降低测试成本、提高测试效率。从软件测试的成本来看,使用测试工具进行软件自动化测试的成本可以以下公式表示:
自动化测试的成本=测试工具成本+测试脚本的创建成本+测试脚本的维护成本
适合采用自动化测试的项目:
1、项目测试周期大于等于6人月;
2、项目合同或需求中明确指出本次测试必须使用自动化测试工具;
3、瀑布式开发或需求与设计已经明确纳入基线(不会再更改);
4、项目上线后需要不断升级维护的项目。
不适合采用自动化测试的项目:
1、项目测试周期小于等于6人月;
2、项目中测试人员少于3人;
3、迭代模式开发与敏捷式开发的项目;
4、项目需求与设计在项目周期前1/3无法正式确定且后期频繁更改;
5、测试人员不具备相应能力。