软件测试的方法与工具
三、软件内部测试的自动工具
软件的自动测试对于降低人工测试的强度有重要的意义,保证软件的持续开发质量有着重要作用。但是,采用自动测试工具是否能降低测试难度r> 有可能的,对于小型项目,自动测试工具可能用处不大,不值得再花时间学习一种测试工具的使用方法。但对于大型工程,或者持续的长期的工程,采用自动测试工具则是有用的。对于一项工程,其功能部件可能很多,而且部件之间的关系也比较复杂,要采用人工的测试就需要投入很大的精力,而且当需要进行反复测试的时候,自动测试工具的需求就逐渐明显。因为是长期的工程,学习一种测试工具的使用方法的时间相对于工程建设的时间比例就很下,因此,在工程性软件的开发中采用自动测试工具是很有意义的。
现在很多的自动工具是基于“记录/回放”的方式。例如,测试员在应用程序的GUI中可以通过单击组合的菜单选择,对话框选择,按钮,等等,把他们的行为用工具记录下来并将结果存入日志文件。记录通常为文本格式,是基于测试工具的脚本语言。如果新增了按钮,或者一段重要代码被修改了,等等,然后只要“回放”记录的动作,再比较LOG结果,检查有哪些变化。这些工具的问题是,如果测试系统时变化很频繁,就可能不得不大量改变记录方式,以致耗费大量的时间更新脚本。而且,对结果(如SCREENS,DATA,LOGS等等)的分析也是一项很沉重的任务。但是如果对脚本的结构、格式很熟悉,那么脚本的更新的任务就会轻松很多。目前,有许多基于文本接口的“记录/回放”工具,支持各种平台。
人工测试通常很难进行,而且很不可靠,也不奏效。事实上,面对很复杂的程序,我们有时不得不进行自动化测试。有一些不可能人工进行的测试,如代码覆盖测试,只有使用自动工具才能进行。程序量和复杂度在不停地增加,传统的测试方法显得力不从心,直到九十年代后期,除了测试自动化之外再也没有任何选择,除非不想作任何测试。
目前流行的软件测试工具的类型可以分为以下几类:
序
测试的类型
简述
1
代码分析器
监督程序代码复杂度,是否遵循标准等等
2
覆盖分析器
校检哪一部分的代码已经被测试,面向代码语句覆盖、条件覆盖、路径覆盖等等
3
内存分析器
边界检查和漏洞检测等等
4
装载/性能测试工具
测试在不同的负载级别之下客户/服务器和WEB应用程序等等
5
WEB测试工具
检验链接是否有效,客户和服务器端的代码、WEB站点的交互是否正常工作
6
其他工具
测试实例管理,文件管理,BUG 告,配置管理工具
一种名为Testworks的自动测试系统,代表现代软件质量控制和软件测试的水平。它搜集了很多测试工具,并把它们捆绑在一起,支持大多数软件测试工程的主要功能,包括静态分析,METRICS,测试文件的生成,GUI测试,测试管理,测试的确认,分支和CALL-PAIR覆盖分析等等。之所以把许多测试工具捆绑在一起,一是为了节省用户的开销,二是将一些类似的工具组织在一起,使用户使用方便。它们经由TestWorks捆绑之后,有统一的用户界面,并具有许多公共特性;另外一个特点是它还支持多平台。
软件测试的方法与工具
TestWorks能够应用于Y2K的测试,集成测试、嵌入和交叉测试、WEB站点的测试和远程测试。
四、结束语
软件内部测试作为软件工程的一个必不可少的环节,对于提高软件的质量有着极其重要的意义,采用不同形式的测试,对软件进行广泛的测试,提高内部测试强度,及时发现问题,并将问题解决,避免问题积累,可以防微杜渐,创造强壮的软件产品,争取市场,以质量取胜。
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34595 人正在系统学习中 相关资源:漫谈软件性能测试技术-其它代码类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!