软件测试专业毕业论文样文模板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章引言
1.2 软件测试的背景和意义
随着计算机技术的迅速发展和越来越广泛深入的应用于国民经济和社会生活的各个方面,随着软件系统的规模和复杂性与日俱增,软件的生产成本和软件中存在的缺陷和故障造成的各类损失也大大增加,甚至会带来灾难性的后果。软件质量问题已成为所有使用软件和开发软件的人关注的焦点。由于软件是人脑的高度智力化的体现和产品这一特殊性,不同于其他科技和生产领域,因此软件与生惧来就有可能存在着缺陷。如何防止和减少这些可能存在的问题呢?回答是进行软件测试。测试是最有效的排除和防止软件缺陷与故障的手段,并由此促进了软件测试理论与技术实践的快速发展。新的测试理论,测试方法,测试技术手段在不断涌出,软件测试机构和组织也在迅速产生和发展,由此软件测试技术职业也同步完善和健全起来。
1.3 软件测试理论基础
1.3.1 软件测试定义
为了发现程序中的错误而执行程序的过程。
1.3.2 软件测试的目标
◆测试是为了发现程序中的错误而执行程序的过程;
◆好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
◆成功的测试是发现了至今为止尚未发现的错误的测试。
1.3.3 软件测试的容
软件测试主要工作容是验证和确认,下面分别给出其概念:
验证是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。
◆确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;
◆程序正确性的形式证明,即采用形式理论证明程序符号设一计规约规定的过程;
◆评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性,即保证软件以正确的方式来做了这个事件。
◆静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;
◆动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
第二章相关技术和工具介绍
2.1相关测试技术介绍
按照软件测试用例的设计方法而论,软件测试可分为黑盒测试和白盒测试;
2.1.1 黑盒测试
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序部结构和部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边界值分析、因—果图、错误推测等,主要用于软件确认测试。
等价类划分
等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.
边界值分析法
边界值分析法:边界值分析方法是对等价类划分方法的补充.边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出围的边界上,而不是发生在输入输出围的部.因此针对各种边界情况设计测试用例,可以查出更多的错误.
因果图方法
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型).
错误推测法
错误推测法: 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 其基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.
2.1.2 白盒测试
白盒测试也称结构测试或逻辑驱动测试,它是知道产品部工作过程,可通过测试来检测产品部动作是否按照规格说明书的规定正常进行,按照程序部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑测试、基路测试等,主要用于软件部结构的验证。
2.2 相关测试工具的介绍
2.2.1 TestDirector 简介
TestDirector是MI公司一个测试管理工具,是业界第一个基于web的测试管理系统,它可以在您公司部或外部进行全球围测试的管理。通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极加速了测试过程。
TestDirector能消除组织机构间、地域间的障碍。它能让测试人员、开发人员或其它的IT人员通过一个中央数据仓库,在不同地方就能交互测试信息。TestDirector将测试过程流水化——从测试需求管理,到测试计划,测试日程安排,测试执行到出错后的错误跟踪——仅在一个基于浏览器的应用中便可完成,而不需要每个客户端都安装一套客户程序。
TestDirector™是业界第一个基于Web的测试管理解决方案,它可以在您公司部进行全球围的测试协调。TestDirector能够在一独立的应用系统中提供需求管理功能,并且可以把测试需求管理于测试计划、测试日程控制、测试执行和错误跟踪等功能融合为一体,因此极加速了测试的进程。电子商务正改变着许多公司在如何规划并建立IT系统方面的决定。常常在一瞬间,一个Web应用就完成了创建和部署,并展现在您的客户、供应商或合作伙伴的面前。但是,由于紧凑的开发计划和复杂的系统结构,Web应用测试经常是被忽视的。为了与心经济同步,您必须开发经过全面测试的高品质的网络应用。
在正式面试之前,测试管理提供了一套测试Web应用的组织框架。由于测试方案会根据不断推出新的应用要求而改进,您需要设立一个中央点来管理测试过程。一套基于Web的测试管理系统提供了一个协同合作的环境和一个中央数据仓库。由于测试人员分布在各地,您需要一个统一的测试管理系统能让用户不管在何时何地都能参与到整个测试过程中,并献计献策。IT部门的增长速度非常快,人员也经常流动。您必须以最快的速度培训新的测试人员,教会他们所有的测试有关的知识技术。而TestDirector所提供的一种单点模式,便于管理复杂的部署过程,改善部门间的沟通,加速您测试的成功。
2.2.2 TestDirector 功能
TestDirector可以快速有效地部署高质量的应用程序,其方法是为收集要求、计划和安排测试、分析结果并管理缺陷和故障提供一个持续、可重复的流程。TestDirector 是一个用于测试管理所有重要方面的基于Web 的单个应用程序- 要求管理、测试计划、测试实验室和缺陷管理。您可以将这些核心模块作为独立的解决方案或在全局Quality Center of Excellence 环境集.
TestDirector让您的组织可以在大型应用程序生命周期实现特定质量流程和过程的数字化。通过与Mercury IT Governance Center™ 集成,您可以实施针对应用程序变更或新项目的质量流程。