软件测试过程控制之缺陷控制子系统设计与实现毕业设计论文.doc
《软件测试过程控制之缺陷控制子系统设计与实现毕业设计论文.doc》由会员分享,可在线阅读,更多相关《软件测试过程控制之缺陷控制子系统设计与实现毕业设计论文.doc(43页珍藏版)》请在三一办公上搜索。
1、软件测试过程控制之缺陷控制子系统设计与实现摘 要计算机应用的越来越广泛、越来越深入,计算机软件也变得越来越复杂,随之而来软件测试的工作量也变的庞大起来,软件测试过程的控制和管理随之诞生。传统的人工控制和管理手段是不可能对软件测试的所有过程进行科学合理的控制和管理,于是软件测试过程控制软件和工具随之出现。软件测试过程控制软件和工具能够科学合理的对软件测试过程进行控制和管理,从而保证了软件测试的质量、控制了软件测试的成本、压缩了软件测试的周期。本文首先对软件、软件缺陷、软件质量和软件测试的基本概念做了简单的概述,然后对整个软件测试系统和自己设计完成的权限管理和缺陷控制模块做了详细分析。最后展示了对
2、整个系统运行测试的结果图。本文主要介绍的是软件测试过程控制系统,该系统实现了对一个新项目的测试管理。这个系统包括了用户管理、权限管理、需求文档管理和缺陷控制。首先,可以新建一个新的项目,导入相对应的需求文档;然后根据需求文档的信息,设计测试用例,并且保存测试用例以便以后可以用;最后是对测试过程中产生的缺陷的控制,对缺陷进行分析、保存并显示给用户。关键词:软件测试管理,需求文档管理,缺陷控制。AbstractThe applications of computer becoming more extensive and in-depth and the computer software sys
3、tems becoming more complex, the following work of software testing must be huge. Not all parts of the software can be test by traditional means without any omission. As people focus on software testing and manual testing has been far from satisfying the requirements of modern software testing, so a
4、lot of software test process control software and tools emerge. Test process control software is a low cost and high efficiency way to meet the demand of complete and full test of software in the shortest time rang, also it notably improve the quality assurance, cost control and cycle compression of
5、 the whole software development action.First, this thesis simply introduces the basic concepts of software, software defects, software quality and software testing. Then the thesis made a detailed analysis of entire software testing system and the control module of my own design flaws. Finally, the
6、thesis showed the results chart of running the whole system.This thesis describes a software test management system that implements a test of a new project management. The system includes a user management, rights management,demand document management and defect control. First, you can create a new
7、project and import demand for the corresponding document. Then according to the information of the document, you design the test cases, and save the test case so that you can use. Finally, the test defects generated in the process control of defects Analysis, preservation and display to the user.Key
8、 words: Software Test Management, Demand Document Management, Defect control目 录一 绪论11.1课题的背景及目的11.2国内外研究现状21.3论文构成4二理论基础62.1软件基本概念62.1.1软件的分类62.1.2软件的特点62.1.3软件的生命周期72.2软件缺陷与软件质量82.2.1软件缺陷和软件故障的定义82.2.2软件缺陷的表现82.2.3软件产生错误和缺陷的原因92.2.4软件质量和质量模型92.3软件测试102.3.1软件测试的目的和原则102.3.2软件测试的方法122.4软件缺陷管理132.4.1缺
9、陷管理的目的132.4.2缺陷管理人员的职责132.4.3软件缺陷的描述规则14三软件需求分析153.1系统总体需求分析153.2权限管理需求分析153.3需求文档管理需求分析163.4缺陷控制需求分析16四系统设计184.1开发语言和开发平台的选取184.2系统的整体设计框架184.3数据库的设计194.4权限管理基本架构204.5缺陷管理基本架构21五程序设计225.1数据库设计225.1.1权限管理数据库设计225.1.2缺陷控制数据库设计245.2主要算法设计255.2.1权限管理主要算法255.2.2缺陷控制主要算法25六实现与测试27七小结与展望36参考文献37致 谢39一 绪论1
10、.1课题的背景及目的软件测试是软件工程一个不可或缺的重要部分,是确保软件工程质量的重要手段。最近几十年来,由于软件工程的复杂度的不断增加,软件测试也越来越受到重视。对于测试的定义,一直在发生着改变。1979年,测试被定义为为发现错误而执行一个程序或者系统的过程。到了1983年,测试是以评价一个程序或者系统的属性为目标的任何一种活动;测试是对软件质量的度量。到了现在,测试是指为了度量和提高被测试软件的质量,对测试件进行工程设计、使用和维护的并发生命周期过程。软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的
11、问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。在IEEE提出的软件工程标准术语中,软件测试被定义为:“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。”软件质量和软件测试是密切相关的,软件测试的最终目的就是为了保证软件的软件质量。软件测试被认为是一个寻找软件程序内部错误和缺陷的过程。同时,软件测试的过程也是软件程序进行执行、运行的过程。程序的执行和运行需要必要的数据支持,测试用例是为软件测试而设计的特殊数据。尽最大的可能显示出程序中的错误是测试用例的设计的重要原则。软件是由人(程序员、软件工程师
12、)来编写实施的,所有由人类完成的工作都不会十全十美。软件开发是个极容易产生错误的复杂过程,尽管程序员、软件工程师以及专家和学者做了巨大的努力和工作,软件错误依旧存在并且不可避免。因此人们也产生了一种共识:软件中隐藏着某些错误,这是软件是无法改变的一种特殊性质。软件测试的目标就是以最少的时间、人力、物力尽可能多的发现软件中潜藏的各种错误和缺陷,从而把这些错误和缺陷加以纠正和改进进而提高了软件的质量,避免软件发布后由于潜在的软件各种缺陷和错误造成的所带来的各种风险和损失。 伴随计算机应用的场合越来越广泛越来越深入,计算机的软件系统也变得越来越复杂,随之而来软件测试的工作量也变的庞大起来,很多软件如
13、果用传统的人工手段是不可能对软件的所有结构进行没有遗漏的测试,即使真的进行没有遗漏的测试也需要耗费巨大的人力、物力和宝贵的时间。现在的软件测试不仅仅是一种技术,更是一种工程,工程具有其自身的特点必须要科学、合理、严谨,必须按照一定的规范和步骤实施,这样才能保证工程的可靠性和可用性。工程就需要必要的管理,所以先进的软件测试工程也是需要相关的测试管理软件进行支持,只有这样才能有效的对软件测试的各个方面和流程进行管理,从而提高软件测试的效率,降低软件测试的成本以,增强软件测试过程的可控性。对软件进行测试之后,如果软件能达到预期的效果,当然最好,这样就说明软件合格了。但是大多数软件测试都有缺陷出现,这
14、正是软件测试的目的,为了寻找软件程序内部错误和缺陷。得出缺陷之后,就是对缺陷的分析和控制。缺陷的种类,缺陷的严重程度,如何去解决缺陷。这是软件测试的一个很重要的部分,光测出缺陷不行,还得去分析、控制、解决这个缺陷,这才是主要的。缺陷控制就是做这步工作的。1.2国内外研究现状现在市场上主要是有很多软件测试自动化工具,但是这些自动化测试工具都是只在单元测试阶段、集成测试阶段、验收测试阶段、系统测试阶段、回归测试阶段的某一个阶段发挥出巨大的作用、显现出独特的优势,并不能够对整个测试流程进行有效的管理和控制,也不能够把软件测试的所有过程和所有方面联系成一个有机的整体。因此,缺乏必要的系统性和完整性。这
15、些自动化测试工具也不能够在测试程序开发、测试程序执行、测试程序结果分析、程序故障状况和报告生成等测试领域发挥出规划、统计、评测等管理功能,具有一定的局限性。软件测试过程控制系统在软件测试中是十分重要和必要的。只有通过软件测试过程控制系统才能对软件测试进行工程化、精细化、科学化的设计和管理,才能提高软件测试的效果和效率,从而达到提高软件质量的目的。目前国际上比较通用的软件测试系统是QC-Quality Center。它是Mercury Interactive 公司(现在软件版权属于惠普公司)推出的一个基于 Web(伪) 且支持测试管理的所有必要方面的应用程序。该软件提供统一、可重复的流程,用于收
16、集需求、计划和安排测试、分析结果并管理缺陷和问题。组织可使用该软件在较大的应用程序生命周期中实现特定质量流程和过程的数字化。该软件还支持在 IT 团队间进行高水平沟通和协调。QC的主要功能有如下。1.Quality Center 有助于维护测试的项目数据库,这个数据库涵盖了应用程序功能的各个方面。设计了项目中的每个测试,以满足应用程序的某个特定的测试需求。要达到项目的各个目标,可将项目中的测试组织成各种特定的组。Quality Center 提供了一种直观、高效的方法,用于计划和执行测试集、收集测试结果以及分析相关数据。Quality Center 还具有一套完善的系统,用于跟踪应用程序缺陷,
17、通过它,您可以在从初期检测到最后解决的整个过程中严密监视缺陷。将 Quality Center 链接到电子邮件系统,所有应用程序开发、质量保证、客户支持和信息系统人员可以共享缺陷跟踪信息。2.Quality Center 可以集成 Mercury 测试工具以及第三方和自定义测试工具、需求和配置管理工具。Quality Center 可以无缝地与您选择的测试工具通信,提供一种完整的解决方案,使应用程序测试完全自动化。3.Quality Center 可指导您完成测试流程的需求指定、测试计划、测试执行和缺陷跟踪阶段。它把应用程序测试中所涉及的全部任务集成起来,有助于确保客户能够得到最高质量的应用程
18、序。 另一个,目前国际上较为成熟的软件测试过程控制系统是QESuite, QESuite使软件开发企业可以脱离原有的纸张与电子表格等原始的文档记录方式,采用Lotus Notes或SQL等大型数据库管理方式,无论是开发人员、测试人员或项目管理人员都可以随时编写、修改和查阅测试用例和软件问题报告,并可对测试用例与软件问题报告进行长期保存,避免了测试用例与软件问题报告的流失。QESuite 可对测试用例的编写与执行情况进行全程记录,便于项目管理人员追踪测试用例在各个测试阶段的执行过程,及时调整测试策略与方法;并可记录软件问题从发现、分析到解决的整个状态转换过程和人员操作记录,便于项目管理人员追溯软
19、件问题处理的各个过程,有助于进一步提高软件问题的处理质量与软件量。QESuite 提供了统一的软件问题报告模板与测试用例模板,使测试人员能够更加准确、详细地编写测试用例与描述软件问题,保证了测试用例与软件问题报告描述的一致性,便于对测试用例与软件问题的积累,分类与查询。3科学划分的软件问题生命周期的主状态及子状态,可以帮助用户详细记录、跟踪和管理软件问题的生命周期全过程,基于此软件问题生命周期状态转换图而定义的软件问题处理工作流,将测试部门与开发部门的工作结合在一起,将大大提高软件问题的处理效率与准确性,QESuite具有实用的统计功能,项目管理人员可以从各种角度建立分析统计报表,以便及时掌握
20、测试用例的执行情况,软件问题的有效发现率、有效修复率和各项测试工作的进度,并进行全局管理,QESuite 的用户可以根据人员的分工和职能不同划分严格的权限,从而明确测试任务,并保证系统数据的安全,QESuite Notes版更是构建在Lotus Domino/Notes的强大的安全机制基础之上,系统数据安全将更有保证,QESuite现有 Web版和Notes版两种运行版本,可适应不同企业对运行成本和系统运行安全的不同要求。QESuite Notes版基于Lotus Domino/Notes构建,充分利用了Domino/Notes的强大群组协同能力和强大的安全机制,适合于对系统数据安全性要求比较
21、高的软件企业,也适用于已经拥有Lotus Domino/Notes平台的软件企业,QESuite Web版基于B/S结构,运行环境简单,投入成本低。1.3论文构成第一,绪论:介绍软件系统的开发来由,总结当前软件测试过程的工程化情况、存在问题和相关工具的国内外研究情况,开发这类工具的意义何在。第二,理论基础:开发这个软件系统依据的理论、思想。第三,软件需求分析:整体需求和自己所编写的部分的功能、性能要求。第四,系统设计:软件整体设计,分工情况,分工之后,自己所做部分与其他同学所做部分的借口。整体的架构分析和自己的基本架构分析。第五,程序设计:模块、借口的划分与设计、数据库设计、数据结构设计等等。
22、第六,实现与测试:依据软件运行的流程进行截图,给出各步骤的运行结果分析。第七,结论和展望:对本文做一个简单的综合评价,对技术的发展前景和以后的可研究方向做出判断。最后是参考文献和致谢。二理论基础2.1软件基本概念软件(英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。计算机软件被认为是计算机系统中与硬件相互依存的另一部分,计算机软件包
23、括程序、数据、其相关文档的完整集合,核心是计算机软件能提供某项特定功能的服务。通俗的讲:软件 = 程序 + 数据 + 文档 + 服务。12.1.1软件的分类一般来讲软件被划分为系统软件、应用软件,其中系统软件包括操作系统和支持软件(微软近期又发布嵌入式系统,即硬件级的软件,使电脑及其它设备运算速度更快更节能)系统软件为计算机使用提供最基本的功能,可分为操作系统和支撑软件,其中操作系统是最基本的软件。但是系统软件并不针对某一特定应用领域。而应用软件则相反,不同的应用软件根据用户和所服务的领域提供不同的功能。应用软件是为了某种特定的用途而被开发的软件。2.1.2软件的特点(1)软件产品的生产主要是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件测试过程控制之缺陷控制子系统设计与实现 毕业设计论文 软件 测试 过程 控制 缺陷 子系统 设计 实现 毕业设计 论文
链接地址:https://www.31ppt.com/p-4016800.html