一:的目的
软件测试是在规定的条件下对程序进行操作,以发现错误,对软件质量进行评估。
的范围应包括软件形成过程的文档,数据以及程序,而不仅仅是对程序的测试。
软件产品的质量包括以下内容,如图:
为了最大程度地保证软件产品的质量,我们需要在软件开发的每个阶段都进行相应的测试。如图:
可以看出,完整的软件测试贯穿了软件产品的整个生命周期。
二: 测试工具的基本概念
为了更好地选择适合团队的测试工具,读者有必要了解测试工具的一些基本概念。
使用测试工具的目的是为了更加快速,有效地对软件进行测试,提高软件产品的质量。
A.测试工具具有以下优点:
1、提高测试质量,避免人为因素。
2、提高测试效率,减轻重复的人力。
3、提高测试覆盖率,通过录制回放和数据驱动来测试功能,可以分析测试深度。
4、可执行某些手工测试难以完成的测试任务,如压力测试,负载测试等。
5、更好地重现软件缺陷,同一个自动化测试脚本执行的测试结果具有一致性。
6、更好地利用资源,可以在周末或晚上时间自动执行测试。
B.测试工具适用的范围:
1、需要反复进行的测试工作。
2、负载压力测试。
C.以下情况不适合使用测试工具
1、周期短的项目。此时花费大量时间准备的测试脚本将无法得到重复利用。
2、业务规则复杂的项目。此时投入的测试准备时间远大于手工测试的时间。
3、依靠人体观感才能完成的测试。例如界面的布局,操作的易用性。
4、涉及物理交互的测试。例如刷卡机的测试。
D.此外,对测试工具不应抱有不正确的期望,例如:
1、“自动化测试可以完成一切测试工作”。
这是绝对不可能的。目前没有任何一种测试工具(在可以预见的将来也不会有)能够完全替代手工测试。自动化测试仅仅是对手工测试的补充。
2、“测试工具能使工作量大幅度降低”。
事实正好相反,首次将测试工具引入团队的时候,测试工作将变得更为艰巨,团队也将增加更多的工作量。只有合理地使用测试工具,且有一定的技术积累后,测试工作量才会逐步下降。
3、“测试工具能够实现百分之百的测试覆盖率”。
在有限的资源下,即使使用测试工具也无法达到100%的测试覆盖率。
4、“自动化测试工具容易使用”。
由于捕获操作是否正确以及测试脚本的编辑是否合理都会影响测试结果,因此,掌握自动化测试技能需要更多的培训和实践。
5、“自动化测试能发现大量的新缺陷”。
事实上,发现新缺陷的任务通常是由手工测试来完成的。自动化测试主要用于发现已有的老缺陷。
三:选择适合团队的测试工具。
现在读者已经了解了测试工具的基本概念。接下来可以开始结合自身情况选择一款(或几款)适合团队的测试工具。
自动化测试工具的分类
1、负载压力测试工具: 通过模拟成百上千个用户并发执行业务操作,来完成对应用程序的测试。主要用于度量应用系统的可扩展性和性能,并通过实时性能监测来确认和查找问题。代表性软件如LoadRunner。
2、功能测试工具:通过自动录制,检测和回放用户的应用操作,将被测系统的输出记录通预先设定的标准结果进行自动比较,以检测应用程序是否能够达到预期功能并正常运行。此类工具可以大大减少黑盒测试的工作量,并能很好地进行回归测试。代表性软件如TestPartner,QTP。
3、单元测试工具:通过自动执行应用程序的函数,过程或完成某个特定功能的程序块,将程序运行结果通预先设置的标准结果自动进行比较,以检测函数,过程或功能是否达到预期结果。与功能测试工具的最大不同之处在于此类工具属于白盒测试工具,且通常由开发人员自行完成。代表性软件如NUnit。
4、代码质量测试工具:根据预订定义的语法规则对代码进行扫描,找出不符合编码规范的地方。代表性软件如FxCop。
5、测试管理工具:用于对测试需求,测试计划,测试用例,测试实施进行管理,将测试过程流水化,让不同人员可以通过工具实时交换相关信息,实现全过程的自动化管理。代表性软件如TestDirector。
选用工具时需要考虑以下问题
1、功能:事实上目前市场上同类测试软件的基本功能大致相同,只是侧重点有所不同。因此,除了基本功能外,我们还可以通过以下几方面来进行考量。
本文转载自51Testing软件测试网,查看全文:
阅读(357) | 评论(0) | 转发(0) |