当前位置:文档之家› 毕业设计(论文)-软件测试技术方法的比较与分析

毕业设计(论文)-软件测试技术方法的比较与分析

软件测试技术方法的比较与分析作者姓名:学科、专业:学号:指导教师:完成日期:XX大学XXXX University软件测试技术方法的比较与分析总计: 毕业论文 64 页表格 14 表插图 22 幅指导教师:评阅人:完成日期:摘要软件测试是保证软件质量的重要手段。

随着计算机硬件性能的不断提高,软件的功能也越来越强大,软件结构越来越复杂,软件质量越来越难以控制。

对于比较大型的软件系统集成测试来说,单纯的手工测试不但效率低下,而且很多测试仅靠手工测试无法完成。

为减少测试开销,在有限的时间内执行更多地测试,并且降低人为引起的错误,自动化测试是非常必要的。

一个完整地自动化软件测试工具,应该包括测试管理工具、功能测试工具、性能测试工具三个部分。

论文阐述了软件自动化测试相关概念和理论,概括和比较了其适用范围和组织结构。

MI公司、Rational公司、Compuware公司开发的产品是当今市场上三种主流的测试工具,本文从测试步骤、对象识别等方面对上述三个公司的功能测试产品;从测试项目管理、人员管理、测试计划等方面对其测试管理工具产品作了详细的分析和比较,为自动化测试研究提供参考。

关键词:软件测试,自动化测试,测试管理工具AbstractSoftware testing is important to ensure software quality. With the enhancement of the computer hardware and the increasing complexity of software functionality and structure, software quality control is more and more challenge. For integration testing on large software, manual testing is usually effort consuming while insufficient to achieve certain testing objectives such as stress testing. Therefore, automatic testing is necessary.Functional testing, performance testing and test management are three key characters of testing tools. The concept and theory related to software automated testing are expounded. The scope of application and the archichecture of software automated testing is summed up and compared. Testing tools delivered by MI, Rational and Compuware occupy most of the testing market. This thesis analyzes and compares function testing tools from、testing procedure、object recognization, etc. And it analyzes and compares test management tools from testing project management、people management、testing plan, etc. This survey provides basis for the research on automatic testing technique.Keywords:Software Testing , Automated Testing , Software Testing Management Tools目录1.绪论 (1)论文的研究背景及意义 (1)论文的主要研究工作及成果 (1)论文的组织结构 (2)2.软件测试技术的概论 (3)软件测试的定义与目的 (3)软件测试的过程 (3)2.3软件测试的分类及主要方法 (4)按测试过程划分 (4)按工作状态划分 (5)按测试用例设计方法划分 (6)按测试目的划分 (8)3.自动化测试技术基础 (9)自动化测试概念 (9)自动化测试 (9)自动化测试的优点 (9)自动化测试的局限性 (11)自动化测试的适用范围 (12)4.主流自动化测试工具简介 (15)4.1 MI(Mercury Interactive)公司的测试软件 (15)管理工具 (16)测试工具 (16)4.2 Rational公司的测试软件 (17)管理工具 (17)测试工具 (19)4.3 Compuware公司的测试软件 (20)管理工具 (21)测试工具 (22)5.自动化功能测试工具的分析比较与总结 (23)测试环境和对象 (23)工具功能模块详细划分 (25)测试步骤 (27)5.4 GUI对象识别 (29)脚本执行与被测程序响应的同步问题 (32)测试信息收集 (33)结合测试管理工具 (33)比较总结 (34)6.测试管理工具的分析与比较 (35)工具特点 (35)测试项目 (37)测试人员管理 (38)测试计划 (39)比较总结 (42)7.总结语 (44)参考文献 (45)附录1外文译文 (47)附录2外文原文 (54)致谢 (63)软件测试技术方法的比较与分析1.绪论论文的研究背景及意义近几年,随着软件规模不断扩大,软件复杂度不断增加,客户要求不断提高,如何保证软件质量,提高软件可靠性也越来越受到各研究机构、相关企业的普遍关注,同时成为软件开发机构特别关注的方向。

目前,许多能有效提高软件质量的质量保证技术相继问世,例如,几乎所有的大型软件开发机构都结合自身软件开发实际和经验制定了相关的质量标准来规范企业内部的软件开发过程,有些机构在这两年陆续成立了与软件开发相独立的软件测试中心来保证开发出来的软件可用,在开发过程中增加了许多环节(如软件配置管理、阶段性测试和评审)用来保证开发出来的软件具有高可靠性。

软件测试技术作为保障软件质量最直接、最有效的手段之一也成为重要的研究热点,但是由于软件本身的复杂性和不确定性,软件测试技术始终具有极大的难度。

深入研究软件测试技术方法,提高软件可靠性,已经成为国内外软件行业和相关机构重要的研究方向[1]。

正确选择和有效地运用各种测试方法、技术和工具,对提高软件工程的应用水平和提高软件产品的质量与可靠性至关重要。

而在软件测试中使用优秀的测试管理工具不但可以大大减少测试过程中出现错误的可能性,还可以极大的提高测试的效率,加快测试进程。

论文的主要研究工作及成果论文主要对软件测试、测试技术(工具、方法)、自动化测试以及测试管理技术(工具、方法)进行理论阐述和综合论述;然后进行综合分析、比较、总结。

通过查阅文献资料和对主流工具软件和相关技术的深入学习可完成软件测试技术方法的比较与分析研究内容。

在这个论文研究过程中,可以学会正确选择和有效地运用各种测试方法、技术和工软件测试技术方法的比较与分析具。

论文的组织结构论文的组织结构如图1.1所示:图1.1 论文的组织结构软件测试技术方法的比较与分析软件测试就是使用人工或者自动的手段来运行或测定某个软件产品系统的过程,其目的是在于检验软件产品是否满足规定的需求[2]。

简单地说,软件测试过程就是制造条件,促使错误发生的过程。

软件测试的目的是[3]:(1)测试的最终目的是为了避免错误的发生,确保应用程序能够正常高效的运行;(2)好的测试用例在于发现至今未发现的错误;(3)成功的测试是发现了至今未发现的错误的测试;(4)好的测试工程师应该做到不仅发现问题,还能够帮助开发人员分析问题。

软件测试是一个贯穿整个软件生命周期的活动,那种等待整个系统开发完毕,再对其进行测试的想法是错误的,把测试放到软件开发的最后是很危险的,因为它很容易导致整个软件系统无法集成。

另外,对软件的测试并不仅限于软件程序的本身,因为错误并不一定是代码引起的。

很有可能是软件需求、软件系统的详细设计等阶段引起的。

错误在初期也许只是范围很小的隐藏问题,但由于软件开发的各阶段的连续性,会使错误逐步扩展,如果早期的开发中出现的错误不能排除,将带到设计、编码、测试等各阶段,影响逐步扩大。

所以对软件的测试还应该包括与软件有关的所有的文档。

一个典型的软件测试过程如下图:软件测试技术方法的比较与分析图 2.1 典型的软件测试过程一个软件的测试过程是一个不断回归的过程。

旧的错误的修改可能会引起新的错误的出现,所以每修改一个新的错误,都要针对系统再作一次测试,直到没有新的错误出现为止,这是一个很繁琐的过程。

2.3软件测试的分类及主要方法针对不同规模、不同类型的软件,以及软件开发的不同阶段,所用的测试方法各异,下面我们就主要针对上面的几种情况对软件测试做一个简单的分类。

按测试过程划分我们知道对于软件开发商来说,比较大的软件系统都是由许多人协作开发的,一般都是把一个大的软件系统分割成不同的功能模块,然后再将这些模块分给开发团中的每个人去完成,在开发的过程中针对每个模块的完成情况,边开发、边测试、边集成,然后各个模块集成的完整的系统还要进行测试,当系统交付用户使用后,还要对系统进行维护、升级,这里面也伴随着测试。

根据上面的过程,我们按软件开发过程的可以将软件测试划分为下面五个步骤,它们的关系如图:图 2.2 软件测试步骤软件测试技术方法的比较与分析单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。

它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。

一个软件单元的正确性是相对于该单元的规约而言的。

因此,单元测试以被测试单位的规约为基准。

单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等[3-5]。

集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。

它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。

集成测试的策略主要有自顶向下和自底向上两种[3-5]。

系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。

相关主题