现在学生学籍的管理趋向于复杂化和多元化,随着计算机的广泛应用,越来越多的高校均采用了计算机化的管理模式,本文介绍了学生学籍管理系统的整个测试过程,阐述了对本系统院系管理,学生管理 ,课程管理,成绩管理,系统管理等模块的功能进行测试。
据分析从软件产业的发展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的基本概念入手,深入剖析软件测试相关理论 关键字:软 件 测 试、黑 盒 测 试
1. 引 言 ...................................................................................................................................... 4
1.1 学籍管理系统简介和目前的状况及软件测试现状 ................................................................... 4
1.2 软件测试的背景和意义 ............................................................................................................... 4
1.3 软件测试理论基础 ....................................................................................................................... 4
1.3.1 软件测试定义 ..................................................................................................................... 4
1.3.2 软件测试的目的 ................................................................................................................. 5
1.3.3 软件测试的内容 ................................................................................................................. 5
1.3.4 软件测试的原则 ................................................................................................................. 5
2 测试方法和测试工具 .................................................................................................................... 6
2.1测试方法 ....................................................................................................................................... 6
2.1.1 黑盒测试............................................................................................................................. 6
2.1.2 白盒测试............................................................................................................................. 6
2.1.3 等价类划分......................................................................................................................... 6
2.1.4 边界值分析......................................................................................................................... 7
2.1.5 随机测试 .................................................................................................................................... 7
2.2 测试工具 ....................................................................................................................................... 7
2.2.1常见测试工具分类 .................................................................................................................... 7
2.2.2 Test Director 简介 ......................................................................................................... 8
2.2.3 TestDirector 功能 ........................................................................................................... 9
3需求分析 ........................................................................................................................................ 9
3.1 学籍管理系统需求分析报告 ....................................................................................................... 9
3.2 功能点列表 ................................................................................................................................. 10
3.2.1登陆画面 ........................................................................................................................... 10
3.2.2院系管理模块 .................................................................................................................... 10
3.3.3 学生信息管理模块 ........................................................................................................... 11
3.3.4 课程管理模块 ................................................................................................................... 11
3.3.5 成绩管理模块 ................................................................................................................... 11
3.3.6 用户管理模块 ................................................................................................................... 12
3.3.7 帮助 .................................................................................................................................. 12
3.3.8 其他功能........................................................................................................................... 13
4测试计划和测试报告 ................................................................................................................... 14
4.1测试计划 ..................................................................................................................................... 14
4.1.1 测试目的........................................................................................................................... 14
4.1.2 测试背景........................................................................................................................... 14
4.1.2 测试范围........................................................................................................................... 14
4.1.2测试方法及对应工具 ........................................................................................................ 15
4.1.3 测试环境........................................................................................................................... 15
4.1.4各阶段完成准则 ................................................................................................................ 15
4.1.5 任务表及测试进度 ........................................................................................................... 15
4.1.6 测试用例 .................................................................................................................................. 15
4.2 测试报告 ..................................................................................................................................... 18
4.2.1编写目的 .................................................................................................................................. 18
4.2.2用户群 ...................................................................................................................................... 19
4.2.3测试对象 .................................................................................................................................. 19
4.2.4测试阶段 .................................................................................................................................. 19
4.2.5测试工具 .................................................................................................................................. 19
4.2.6参考资料 .................................................................................................................................. 19
4.2.7测试概要 .................................................................................................................................. 19
4.2.8 测试进度 .................................................................................................................................. 19
4.2.9 测试执行 .................................................................................................................................. 20
4.2.10 测试环境................................................................................................................................ 20
4.2.11 测试结果................................................................................................................................ 20
4.2.12 测试结论......................................................................................................................... 21
5 总 结 ......................................................................................................................................... 22
6 致 谢 ......................................................................................................................................... 22
7参考文献 ...................................................................................................................................... 22
1. 引 言
1.1 学籍管理系统简介和目前的状况及软件测试现状
学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。
现在学生学籍的管理趋向于复杂化和多元化,随着计算机的广泛应用,越来越多的高校均采用了计算机化的管理模式,本文介绍了学生学籍管理系统的整个测试过程,阐述了对本系统院系管理,学生管理 ,课程管理,成绩管理,系统管理等模块的功能进行测试。
据分析从软件产业的发展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的基本概念入手,深入剖析软件测试相关理论
1.2 软件测试的背景和意义
随着计算机技术的迅速发展和越来越广泛深入的应用于国民经济和社会生活的各个方面,随着软件系统的规模和复杂性与日俱增,软件的生产成本和软件中存在的缺陷和故障造成的各类损失也大大增加,甚至会带来灾难性的后果。软件质量问题已成为所有使用软件和开发软件的人关注的焦点。由于软件是人脑的高度智力化的体现和产品这一特殊性,不同于其他科技和生产领域,因此软件与生惧来就有可能存在着缺陷。防止和减少这些可能存在的问题就是进行软件测试。测试是最有效的排除和防止软件缺陷与故障的手段,并由此促进了软件测试理论与技术实践的快速发展。新的测试理论,测试方法,测试技术手段在不断涌出,软件测试机构和组织也在迅速产生和发展,由此软件测试技术职业也同步完善和健全起来。
1.3 软件测试理论基础
1.3.1 软件测试定义
软件测试使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。
(1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,
可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;
(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;
(3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。
1.3.2 软件测试的目的
◆ 测试是为了发现程序中的错误而执行程序的过程;
◆ 测试是确保最终用户的产品符合用户的需求;
◆ 成功的测试是发现了至今为止尚未发现的错误的测试。
1.3.3 软件测试的内容
软件测试主要工作内容是验证和确认,下面分别给出其概念:
验证是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。
◆ 确定软件生存周期中的一个给定阶段的产品是否达到前阶段
确立的需求的过程;
◆ 程序正确性的形式证明,即采用形式理论证明程序符号设
一计规约规定的过程;
◆ 评估、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性,即保证软件以正确的方式来做了这个事件。
◆ 静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;
◆ 动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
1.3.4 软件测试的原则
1.应当把
2.程序员应该避免检查自己的程序, 测试工作应该由独立的专业的软件测试机构来完成。
3.设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件, 特殊情况下要制造极端状态和意外状态, 比如网络异常中断、电源断电等情况。
4.一定要注意测试中的错误集中发生现象, 这和程序员的编程水平和习惯有很大的关系。
5.对测试错误结果一定要有一个确认的过程, 一般有A测试出来的错误, 一定要有一个B来确认, 严重的错误可以召开评审会进行讨论和分析。
6. 制定严格的测试计划, 并把测试时间安排的尽量宽松, 不要希望在极短的时
间内完成一个高水平的测试。
7. 回归测试的关联性一定要引起充分的注意, 修改一个错误而引起更多的错误
出现的现象并不少见。
8. 妥善保存一切测试过程文档, 意义是不言而喻的, 测试的重现性往往要靠
测试文档
2 测试方法和测试工具
2.1测试方法
按照软件测试用例的设计方法而论,软件测试可分为黑盒测试和白盒测试,任何工程产品都可以使用以上两种方法之一进行测试,在本次测试过程当中主要是使用等价类划分、边界值分析、随机测试这三种测试方法。
2.1.1 黑盒测试
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边界值分析、错误推测法等,主要用于软件确认测试。
2.1.2 白盒测试
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑测试、基路测试等,主要用于软件内部结构的验证。
2.1.3 等价类划分
等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.等价类划分可以分为有效等价类和无效等价类
◆ 有效等价类 是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和
性能。
◆ 无效等价类 与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。
2.1.4 边界值分析
边界值分析:边界值分析方法是对等价类划分方法的补充.边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.
2.1.5 随机测试
随机测试:随机测试没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。
随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例(TestCase)没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressive testing)一起进行。
2.2 测试工具
2.2.1常见测试工具分类
按照典型的匪类方法,可以将测试工具分类为:功能测试工具、性能测试
工具、测试管理工具及其他工具四类。
1.功能测试工具
Mercury Interactive Winrunner
Mercury Interactive QuickTest Professional
IBM Rational Robot
Compuware QARun等;
以上工具主要是用来验证被测应用程序或软件产品能否满足用户功能方面的需求;
2.性能测试工具
Mercury Interactive LoadRunner
IBM Rational Robot
Compuware QALoad
Microsoft Web Application Stres Tool (MS WAS)
以上工具主要是用来验证被测应用程序或软件产品能否满足用户性能方面的需求;
3.测试管理工具
Mercury Interactive TestDirector
IBM Rational ClearQuest
IBM Rational TestManager
Atlassian JIRA
以上工具主要用来对测试需求、测试计划与执行以及缺陷进行跟踪管理;
4.其他测试工具
缺陷工总管理工具,如:Bugzilla、Bugfree、Mantis等;
单元测试工具,如:VU、NUnit、CUnit、JUnit、C++ Test等;
测试覆盖统计工具,如:IBM Rational PureCoverage;
以上四类测试工具中,在测试工作中主要使用TestDirector测试管理工具。以下是关于TD的详细介绍:
2.2.2 Test Director 简介
TestDirector是MI公司一个测试管理工具,是业界第一个基于web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。
TestDirector能消除组织机构间、地域间的障碍。它能让测试人员、开发人员或其它的IT人员通过一个中央数据仓库,在不同地方就能交互测试信息。TestDirector将测试过程流水化——从测试需求管理,到测试计划,测试日程安排,测试执行到出错后的错误跟踪——仅在一个基于浏览器的应用中便可完成,而不需要每个客户端都安装一套客户程序。
TestDirector是业界第一个基于Web的测试管理解决方案,它可以在您公司内部进行全球范围的测试协调。TestDirector能够在一独立的应用系统中提供需求管理功能,并且可以把测试需求管理于测试计划、测试日程控制、测试执行和错误跟 踪等功能融合为一体,因此极大地加速了测试的进程。电子商务正改变着许多公司在如何规划并建立IT系统方面的决定。常常在一瞬间,一个Web应用就完成了创建和部署,并展现在您的客户、供应商或合作伙伴的面前。但是,由于紧凑的开发计划和复杂的系统结构, Web应用测试经常是被忽视的。为了与心经济同步,您必须开发经过全面测试的高品质的网络应用。
在正式面试之前,测试管理提供了一套测试Web应用的组织框架。由于测试方案会根据不断推陈出新的应用要求而改进,您需要设立一个中央点来管理测试过程。一套基于Web的测试管理系统提供了一个协同合作的环境和一个中央数据仓库。由于测试人员分布在各地, 您需要一个统一的测试管理系统能让用户不管在何时何地都能参与到整个测试过程中,并献计献策。IT部门的增长速度非常快,人员也经常流动。您必须以最快的速度培训新的测试人员,教会他们所有
的测试有关的知识技术。而TestDirector所提供的一种单 点模式,便于管理复杂的部署过程,改善部门间的沟通,加速您测试的成功。
2.2.3 TestDirector 功能
TestDirector可以快速有效地部署高质量的应用程序,其方法是为收集要求、计划和安排测试、分析结果并管理缺陷和故障提供一个持续、可重复的流程。TestDirector 是一个用于测试管理所有重要方面的基于 Web 的单个应用程序 - 要求管理、测试计划、测试实验室和缺陷管理。您可以将这些核心模块作为独立的解决方案或在全局 Quality Center of Excellence 环境集.
TestDirector让您的组织可以在大型应用程序生命周期内实现特定质量流程和过程的数字化。通过与 Mercury IT Governance Center 集成,您可以实施针对应用程序变更或新项目的质量流程。
TestDirector支持 IT 团队之间的高水平沟通和合作。无论您是正在协调多个完全不同的 QA 团队的工作,还是正在使用大型的分布式 Center of Excellence,该测试管理工具都会帮助您跨地理界限和组织界限访问信息。此外,TestDirector还提供对相关质量资产的实时可视性。在“要求管理器”中设计的要求可与测试案例、缺陷或测试运行实例关联,以实现详细的追踪功能。 3需求分析 需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程,在这个过程中,用户的确是处在主导地位。
下面的是对学籍管理系统测试的需求分析。
3.1 学籍管理系统需求分析报告
3.2 功能点列表
3.2.1登陆画面
3.2.2院系管理模块
3.3.3 学生信息管理模块
3.3.4 课程管理模块
3.3.5 成绩管理模块 11
3.3.6 用户管理模块
3.3.7 帮助 12
3.3.8 其他功能
13
4测试计划和测试报告
4.1测试计划
专业的软件测试必须以一个好的测试计划为基础。尽管测试的每一个步骤是独立的,但是必定要有一个起到框架结构作用的测试计划。测试计划应该作为测试的起始步骤和重要环节。测试计划是软件测试工作中遇到的最基本的测试文档,测试计划是描述测试目的、范围、方法和软件测试的重点等的文档。
下面是对学籍管理系统进行测试的测试计划: 4.1.1 测试目的
编写本测试计划的目的是为整个测试阶段的管理工作和技术工作提供指南;同时确定测试的内容和范围,为评价系统提供依据;此外还帮助用户安排测试活动,说明对设备器材和机构人员的资源需求;说明测试结果的评价指标。 4.1.2 测试背景
项 目 名称:学籍管理系统 任务提出者:宋敏 开 发 者:谢鹏 用 户:宋敏
学籍管理系统的项目背景:
学籍管理系统用语管理学校学生信息,随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增加。面对庞大的信息量,就需要有学生学籍管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。 4.1.2 测试范围
本测试计划是针对中规定内容的测试计划,测试范围包括:
14
登陆画面
院系管理模块
学生信息管理模块 成绩管理模块 课程管理模块 用户管理模块 注销 帮助
4.1.2测试方法及对应工具
4.1.3 测试环境
4.1.4各阶段完成准则
功能 测试:所计划的测试已全部执行。
设计的测试:程序界面,菜单的结构还有窗体的设计符合相关的规范。 4.1.5 任务表及测试进度
4.1.6 测试用例
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例还有另外一种说法是:指对一项特定的软件产品进行测试任务的描述,体现测
15
试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
测试用例构成了设计和制定测试过程的基础。 测试的“深度”与测试用例的数量成比例。由于每个测试用例反映不同的场景、条件或经由产品的事件流,因而,随着测试用例数量的增加,您对产品质量和测试流程也就越有信心。 判断测试是否完全的一个主要评测方法是基于需求的覆盖,而这又是以确定、实施和或执行的测试用例的数量为依据的。类似下面这样的说明:“95 % 的关键测试用例已得以执行和验证”,远比“我们已完成 95 % 的测试”更有意义。 测试工作量与测试用例的数量成比例。根据全面且细化的测试用例,可以更准确地估计测试周期各连续阶段的时间安排。
下面是学籍管理系统的测试用例,选用等价类划分、边值分析、错误推测法等一些黑盒测试技术设计测试用例。
16
17
4.2 测试报告
4.2.1编写目的
编写该测试报告主要有以下几个目的:
1.通过对测试结果的分析,得到对软件质量的评价;
2.分析而是的过程,产品,资源,信息,为以后制定测试计划提供参考; 3.评估测试执行和测试计划是否符合;
4.分析系统存在的缺陷,为修复和预防bug提供建议;
18
4.2.2用户群
主要读者:学籍管理系统管理人员,学籍管理系统测试相关人员 其他读者:学籍管理系统相关人员。 4.2.3测试对象
对学籍管理系统的登陆画面、院系管理模块、学生信息管理模块、课程管理、成绩管理、用户管理模块、注销、帮助进行功能性测试。 4.2.4测试阶段
功能测试 4.2.5测试工具
无 4.2.6参考资料
《学籍管理系统需求和设计说明书》 《学籍管理系统测试计划》 《学籍管理系统测试用例》 4.2.7测试概要
学籍管理系统测试从2013年4月15日到2013年4月25日结束,共持续8天,执行主要的测试用例21条,测试共发现3个bug。 4.2.8 测试进度
本系统其它测试工作情况:
19
4.2.9 测试执行
此次测试按照测试计划执行,按时完成了测试计划规定的测试对象的测试。针对测试计划规定的测试策略,在测试执行中都有体现,在测试执行过程中,依据测试计划和测试用例,对系统进行了完整的测试。
4.2.10 测试环境
操作系统:window7 4.2.11 测试结果
测试期间发现了3个bug。
一. 学生管理系统组主画面—院系管理—系别管理—系别编辑画面,在系别简介文本框输入任意160个字符,点击重置按钮,系别简介文本框重置为空,但该文本框被撑开,没有还原状态,给用户感觉就是还没重置为空,这是个bug。 如下图所示:
二. 学籍管理系统主画面--院校管理菜--系别管理子菜--系别编辑画面--将光标放在系别名称文本框中,按Tab键往下走,你会发现光标并未按照一定顺序跳至相应控件上,直接从添加按钮跳至重置按钮上,应该按照顺序跳至修改按钮上,这是一个bug。
20
如下图所示:
三. 学籍管理系统主画面--院校管理菜--系别管理子菜--系别编辑画--将系别编辑窗口用鼠标放大一点,会发现该画面布局没有随着窗口变大而有所改变,左侧跟下面是空白,影响整体美观度,这是个bug。
如下图所示:
4.2.12 测试结论
学生管理系统基本实现了日常学生档案,班级信息,课程信息,成绩信息的添加、修改、删除、查询等功能,同时也实现了找回密码、注册用户的功能,给用户提供了一个方便管理学生的平台。整个系统的页面布局合理,系统在实现学生管理的功能时,其中也存在一些缺陷和不足,不过不影响用户使用,如有必要时需要及时的更改,此版本测试通过。
5 总 结
紧张的测试和质量强化终于过去了,及时的总结才能不断的进步,在这次对学籍管理系统测试过程中,经过一定的测试,设计主要部分测试用例,主要采用等价类划分的测试方法进行测试。通过这次测试,有了一些发现,对学籍管理系统的BUG进行整理,进行修正。收获很大,不但掌握了测试的整个流程,对自己做事情的认真负责进行了考验,而且进一步提高该系统的质量,基本上成功完成了这次的测试任务。
6 致 谢
本文从选题到确定论文结构和定稿的过程中,都得到了导师聂景的悉心指导和无私帮助。在此,向导师表达我最诚挚的感谢和最衷心的祝福。在大学期间,也得到了聂景老师与其他老师们的谆谆教诲,我每迈出的一小步都离不开老师们的指引和关怀;信息系的老师们严谨的教学态度和渊博的学识给我留下了非常深刻的印象,使我受益终生。在撰写论文时,聂景导师给我提供了宝贵的意见,并对我的论文完善进行了悉心的指导,同时还感谢在一起生活和学习的同窗好友,感谢所有帮助过的人,在这里表示深深的谢意!
7参考文献
[1] 贺平.编著.《软件测试教程》.电子工业出版社.2005.6
[2] 王健.苗勇.刘郢.编著.《软件测试员培训教材》.电子工业出版社.2003.9
[3] 雷镀教育.编著《测试计划与测试用例》
[4] 雷镀教育.编著《自动化测试》
[5] 吴长安.软件测试的若干问题.《软件测试杂志》.2007.4.4期.12
[6] 蔡琰. 浅谈功能测试用例模板设计.《软件测试杂志》.2005第1期
[7] 张华. 软件测试的基本常识. 《软件测试杂志》. 2005-10-19.3期
现在学生学籍的管理趋向于复杂化和多元化,随着计算机的广泛应用,越来越多的高校均采用了计算机化的管理模式,本文介绍了学生学籍管理系统的整个测试过程,阐述了对本系统院系管理,学生管理 ,课程管理,成绩管理,系统管理等模块的功能进行测试。
据分析从软件产业的发展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的基本概念入手,深入剖析软件测试相关理论 关键字:软 件 测 试、黑 盒 测 试
1. 引 言 ...................................................................................................................................... 4
1.1 学籍管理系统简介和目前的状况及软件测试现状 ................................................................... 4
1.2 软件测试的背景和意义 ............................................................................................................... 4
1.3 软件测试理论基础 ....................................................................................................................... 4
1.3.1 软件测试定义 ..................................................................................................................... 4
1.3.2 软件测试的目的 ................................................................................................................. 5
1.3.3 软件测试的内容 ................................................................................................................. 5
1.3.4 软件测试的原则 ................................................................................................................. 5
2 测试方法和测试工具 .................................................................................................................... 6
2.1测试方法 ....................................................................................................................................... 6
2.1.1 黑盒测试............................................................................................................................. 6
2.1.2 白盒测试............................................................................................................................. 6
2.1.3 等价类划分......................................................................................................................... 6
2.1.4 边界值分析......................................................................................................................... 7
2.1.5 随机测试 .................................................................................................................................... 7
2.2 测试工具 ....................................................................................................................................... 7
2.2.1常见测试工具分类 .................................................................................................................... 7
2.2.2 Test Director 简介 ......................................................................................................... 8
2.2.3 TestDirector 功能 ........................................................................................................... 9
3需求分析 ........................................................................................................................................ 9
3.1 学籍管理系统需求分析报告 ....................................................................................................... 9
3.2 功能点列表 ................................................................................................................................. 10
3.2.1登陆画面 ........................................................................................................................... 10
3.2.2院系管理模块 .................................................................................................................... 10
3.3.3 学生信息管理模块 ........................................................................................................... 11
3.3.4 课程管理模块 ................................................................................................................... 11
3.3.5 成绩管理模块 ................................................................................................................... 11
3.3.6 用户管理模块 ................................................................................................................... 12
3.3.7 帮助 .................................................................................................................................. 12
3.3.8 其他功能........................................................................................................................... 13
4测试计划和测试报告 ................................................................................................................... 14
4.1测试计划 ..................................................................................................................................... 14
4.1.1 测试目的........................................................................................................................... 14
4.1.2 测试背景........................................................................................................................... 14
4.1.2 测试范围........................................................................................................................... 14
4.1.2测试方法及对应工具 ........................................................................................................ 15
4.1.3 测试环境........................................................................................................................... 15
4.1.4各阶段完成准则 ................................................................................................................ 15
4.1.5 任务表及测试进度 ........................................................................................................... 15
4.1.6 测试用例 .................................................................................................................................. 15
4.2 测试报告 ..................................................................................................................................... 18
4.2.1编写目的 .................................................................................................................................. 18
4.2.2用户群 ...................................................................................................................................... 19
4.2.3测试对象 .................................................................................................................................. 19
4.2.4测试阶段 .................................................................................................................................. 19
4.2.5测试工具 .................................................................................................................................. 19
4.2.6参考资料 .................................................................................................................................. 19
4.2.7测试概要 .................................................................................................................................. 19
4.2.8 测试进度 .................................................................................................................................. 19
4.2.9 测试执行 .................................................................................................................................. 20
4.2.10 测试环境................................................................................................................................ 20
4.2.11 测试结果................................................................................................................................ 20
4.2.12 测试结论......................................................................................................................... 21
5 总 结 ......................................................................................................................................... 22
6 致 谢 ......................................................................................................................................... 22
7参考文献 ...................................................................................................................................... 22
1. 引 言
1.1 学籍管理系统简介和目前的状况及软件测试现状
学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。
现在学生学籍的管理趋向于复杂化和多元化,随着计算机的广泛应用,越来越多的高校均采用了计算机化的管理模式,本文介绍了学生学籍管理系统的整个测试过程,阐述了对本系统院系管理,学生管理 ,课程管理,成绩管理,系统管理等模块的功能进行测试。
据分析从软件产业的发展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的基本概念入手,深入剖析软件测试相关理论
1.2 软件测试的背景和意义
随着计算机技术的迅速发展和越来越广泛深入的应用于国民经济和社会生活的各个方面,随着软件系统的规模和复杂性与日俱增,软件的生产成本和软件中存在的缺陷和故障造成的各类损失也大大增加,甚至会带来灾难性的后果。软件质量问题已成为所有使用软件和开发软件的人关注的焦点。由于软件是人脑的高度智力化的体现和产品这一特殊性,不同于其他科技和生产领域,因此软件与生惧来就有可能存在着缺陷。防止和减少这些可能存在的问题就是进行软件测试。测试是最有效的排除和防止软件缺陷与故障的手段,并由此促进了软件测试理论与技术实践的快速发展。新的测试理论,测试方法,测试技术手段在不断涌出,软件测试机构和组织也在迅速产生和发展,由此软件测试技术职业也同步完善和健全起来。
1.3 软件测试理论基础
1.3.1 软件测试定义
软件测试使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。
(1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,
可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;
(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;
(3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。
1.3.2 软件测试的目的
◆ 测试是为了发现程序中的错误而执行程序的过程;
◆ 测试是确保最终用户的产品符合用户的需求;
◆ 成功的测试是发现了至今为止尚未发现的错误的测试。
1.3.3 软件测试的内容
软件测试主要工作内容是验证和确认,下面分别给出其概念:
验证是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。
◆ 确定软件生存周期中的一个给定阶段的产品是否达到前阶段
确立的需求的过程;
◆ 程序正确性的形式证明,即采用形式理论证明程序符号设
一计规约规定的过程;
◆ 评估、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性,即保证软件以正确的方式来做了这个事件。
◆ 静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;
◆ 动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
1.3.4 软件测试的原则
1.应当把
2.程序员应该避免检查自己的程序, 测试工作应该由独立的专业的软件测试机构来完成。
3.设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件, 特殊情况下要制造极端状态和意外状态, 比如网络异常中断、电源断电等情况。
4.一定要注意测试中的错误集中发生现象, 这和程序员的编程水平和习惯有很大的关系。
5.对测试错误结果一定要有一个确认的过程, 一般有A测试出来的错误, 一定要有一个B来确认, 严重的错误可以召开评审会进行讨论和分析。
6. 制定严格的测试计划, 并把测试时间安排的尽量宽松, 不要希望在极短的时
间内完成一个高水平的测试。
7. 回归测试的关联性一定要引起充分的注意, 修改一个错误而引起更多的错误
出现的现象并不少见。
8. 妥善保存一切测试过程文档, 意义是不言而喻的, 测试的重现性往往要靠
测试文档
2 测试方法和测试工具
2.1测试方法
按照软件测试用例的设计方法而论,软件测试可分为黑盒测试和白盒测试,任何工程产品都可以使用以上两种方法之一进行测试,在本次测试过程当中主要是使用等价类划分、边界值分析、随机测试这三种测试方法。
2.1.1 黑盒测试
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边界值分析、错误推测法等,主要用于软件确认测试。
2.1.2 白盒测试
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑测试、基路测试等,主要用于软件内部结构的验证。
2.1.3 等价类划分
等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.等价类划分可以分为有效等价类和无效等价类
◆ 有效等价类 是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和
性能。
◆ 无效等价类 与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。
2.1.4 边界值分析
边界值分析:边界值分析方法是对等价类划分方法的补充.边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.
2.1.5 随机测试
随机测试:随机测试没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。
随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例(TestCase)没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressive testing)一起进行。
2.2 测试工具
2.2.1常见测试工具分类
按照典型的匪类方法,可以将测试工具分类为:功能测试工具、性能测试
工具、测试管理工具及其他工具四类。
1.功能测试工具
Mercury Interactive Winrunner
Mercury Interactive QuickTest Professional
IBM Rational Robot
Compuware QARun等;
以上工具主要是用来验证被测应用程序或软件产品能否满足用户功能方面的需求;
2.性能测试工具
Mercury Interactive LoadRunner
IBM Rational Robot
Compuware QALoad
Microsoft Web Application Stres Tool (MS WAS)
以上工具主要是用来验证被测应用程序或软件产品能否满足用户性能方面的需求;
3.测试管理工具
Mercury Interactive TestDirector
IBM Rational ClearQuest
IBM Rational TestManager
Atlassian JIRA
以上工具主要用来对测试需求、测试计划与执行以及缺陷进行跟踪管理;
4.其他测试工具
缺陷工总管理工具,如:Bugzilla、Bugfree、Mantis等;
单元测试工具,如:VU、NUnit、CUnit、JUnit、C++ Test等;
测试覆盖统计工具,如:IBM Rational PureCoverage;
以上四类测试工具中,在测试工作中主要使用TestDirector测试管理工具。以下是关于TD的详细介绍:
2.2.2 Test Director 简介
TestDirector是MI公司一个测试管理工具,是业界第一个基于web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。
TestDirector能消除组织机构间、地域间的障碍。它能让测试人员、开发人员或其它的IT人员通过一个中央数据仓库,在不同地方就能交互测试信息。TestDirector将测试过程流水化——从测试需求管理,到测试计划,测试日程安排,测试执行到出错后的错误跟踪——仅在一个基于浏览器的应用中便可完成,而不需要每个客户端都安装一套客户程序。
TestDirector是业界第一个基于Web的测试管理解决方案,它可以在您公司内部进行全球范围的测试协调。TestDirector能够在一独立的应用系统中提供需求管理功能,并且可以把测试需求管理于测试计划、测试日程控制、测试执行和错误跟 踪等功能融合为一体,因此极大地加速了测试的进程。电子商务正改变着许多公司在如何规划并建立IT系统方面的决定。常常在一瞬间,一个Web应用就完成了创建和部署,并展现在您的客户、供应商或合作伙伴的面前。但是,由于紧凑的开发计划和复杂的系统结构, Web应用测试经常是被忽视的。为了与心经济同步,您必须开发经过全面测试的高品质的网络应用。
在正式面试之前,测试管理提供了一套测试Web应用的组织框架。由于测试方案会根据不断推陈出新的应用要求而改进,您需要设立一个中央点来管理测试过程。一套基于Web的测试管理系统提供了一个协同合作的环境和一个中央数据仓库。由于测试人员分布在各地, 您需要一个统一的测试管理系统能让用户不管在何时何地都能参与到整个测试过程中,并献计献策。IT部门的增长速度非常快,人员也经常流动。您必须以最快的速度培训新的测试人员,教会他们所有
的测试有关的知识技术。而TestDirector所提供的一种单 点模式,便于管理复杂的部署过程,改善部门间的沟通,加速您测试的成功。
2.2.3 TestDirector 功能
TestDirector可以快速有效地部署高质量的应用程序,其方法是为收集要求、计划和安排测试、分析结果并管理缺陷和故障提供一个持续、可重复的流程。TestDirector 是一个用于测试管理所有重要方面的基于 Web 的单个应用程序 - 要求管理、测试计划、测试实验室和缺陷管理。您可以将这些核心模块作为独立的解决方案或在全局 Quality Center of Excellence 环境集.
TestDirector让您的组织可以在大型应用程序生命周期内实现特定质量流程和过程的数字化。通过与 Mercury IT Governance Center 集成,您可以实施针对应用程序变更或新项目的质量流程。
TestDirector支持 IT 团队之间的高水平沟通和合作。无论您是正在协调多个完全不同的 QA 团队的工作,还是正在使用大型的分布式 Center of Excellence,该测试管理工具都会帮助您跨地理界限和组织界限访问信息。此外,TestDirector还提供对相关质量资产的实时可视性。在“要求管理器”中设计的要求可与测试案例、缺陷或测试运行实例关联,以实现详细的追踪功能。 3需求分析 需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程,在这个过程中,用户的确是处在主导地位。
下面的是对学籍管理系统测试的需求分析。
3.1 学籍管理系统需求分析报告
3.2 功能点列表
3.2.1登陆画面
3.2.2院系管理模块
3.3.3 学生信息管理模块
3.3.4 课程管理模块
3.3.5 成绩管理模块 11
3.3.6 用户管理模块
3.3.7 帮助 12
3.3.8 其他功能
13
4测试计划和测试报告
4.1测试计划
专业的软件测试必须以一个好的测试计划为基础。尽管测试的每一个步骤是独立的,但是必定要有一个起到框架结构作用的测试计划。测试计划应该作为测试的起始步骤和重要环节。测试计划是软件测试工作中遇到的最基本的测试文档,测试计划是描述测试目的、范围、方法和软件测试的重点等的文档。
下面是对学籍管理系统进行测试的测试计划: 4.1.1 测试目的
编写本测试计划的目的是为整个测试阶段的管理工作和技术工作提供指南;同时确定测试的内容和范围,为评价系统提供依据;此外还帮助用户安排测试活动,说明对设备器材和机构人员的资源需求;说明测试结果的评价指标。 4.1.2 测试背景
项 目 名称:学籍管理系统 任务提出者:宋敏 开 发 者:谢鹏 用 户:宋敏
学籍管理系统的项目背景:
学籍管理系统用语管理学校学生信息,随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增加。面对庞大的信息量,就需要有学生学籍管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。 4.1.2 测试范围
本测试计划是针对中规定内容的测试计划,测试范围包括:
14
登陆画面
院系管理模块
学生信息管理模块 成绩管理模块 课程管理模块 用户管理模块 注销 帮助
4.1.2测试方法及对应工具
4.1.3 测试环境
4.1.4各阶段完成准则
功能 测试:所计划的测试已全部执行。
设计的测试:程序界面,菜单的结构还有窗体的设计符合相关的规范。 4.1.5 任务表及测试进度
4.1.6 测试用例
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例还有另外一种说法是:指对一项特定的软件产品进行测试任务的描述,体现测
15
试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
测试用例构成了设计和制定测试过程的基础。 测试的“深度”与测试用例的数量成比例。由于每个测试用例反映不同的场景、条件或经由产品的事件流,因而,随着测试用例数量的增加,您对产品质量和测试流程也就越有信心。 判断测试是否完全的一个主要评测方法是基于需求的覆盖,而这又是以确定、实施和或执行的测试用例的数量为依据的。类似下面这样的说明:“95 % 的关键测试用例已得以执行和验证”,远比“我们已完成 95 % 的测试”更有意义。 测试工作量与测试用例的数量成比例。根据全面且细化的测试用例,可以更准确地估计测试周期各连续阶段的时间安排。
下面是学籍管理系统的测试用例,选用等价类划分、边值分析、错误推测法等一些黑盒测试技术设计测试用例。
16
17
4.2 测试报告
4.2.1编写目的
编写该测试报告主要有以下几个目的:
1.通过对测试结果的分析,得到对软件质量的评价;
2.分析而是的过程,产品,资源,信息,为以后制定测试计划提供参考; 3.评估测试执行和测试计划是否符合;
4.分析系统存在的缺陷,为修复和预防bug提供建议;
18
4.2.2用户群
主要读者:学籍管理系统管理人员,学籍管理系统测试相关人员 其他读者:学籍管理系统相关人员。 4.2.3测试对象
对学籍管理系统的登陆画面、院系管理模块、学生信息管理模块、课程管理、成绩管理、用户管理模块、注销、帮助进行功能性测试。 4.2.4测试阶段
功能测试 4.2.5测试工具
无 4.2.6参考资料
《学籍管理系统需求和设计说明书》 《学籍管理系统测试计划》 《学籍管理系统测试用例》 4.2.7测试概要
学籍管理系统测试从2013年4月15日到2013年4月25日结束,共持续8天,执行主要的测试用例21条,测试共发现3个bug。 4.2.8 测试进度
本系统其它测试工作情况:
19
4.2.9 测试执行
此次测试按照测试计划执行,按时完成了测试计划规定的测试对象的测试。针对测试计划规定的测试策略,在测试执行中都有体现,在测试执行过程中,依据测试计划和测试用例,对系统进行了完整的测试。
4.2.10 测试环境
操作系统:window7 4.2.11 测试结果
测试期间发现了3个bug。
一. 学生管理系统组主画面—院系管理—系别管理—系别编辑画面,在系别简介文本框输入任意160个字符,点击重置按钮,系别简介文本框重置为空,但该文本框被撑开,没有还原状态,给用户感觉就是还没重置为空,这是个bug。 如下图所示:
二. 学籍管理系统主画面--院校管理菜--系别管理子菜--系别编辑画面--将光标放在系别名称文本框中,按Tab键往下走,你会发现光标并未按照一定顺序跳至相应控件上,直接从添加按钮跳至重置按钮上,应该按照顺序跳至修改按钮上,这是一个bug。
20
如下图所示:
三. 学籍管理系统主画面--院校管理菜--系别管理子菜--系别编辑画--将系别编辑窗口用鼠标放大一点,会发现该画面布局没有随着窗口变大而有所改变,左侧跟下面是空白,影响整体美观度,这是个bug。
如下图所示:
4.2.12 测试结论
学生管理系统基本实现了日常学生档案,班级信息,课程信息,成绩信息的添加、修改、删除、查询等功能,同时也实现了找回密码、注册用户的功能,给用户提供了一个方便管理学生的平台。整个系统的页面布局合理,系统在实现学生管理的功能时,其中也存在一些缺陷和不足,不过不影响用户使用,如有必要时需要及时的更改,此版本测试通过。
5 总 结
紧张的测试和质量强化终于过去了,及时的总结才能不断的进步,在这次对学籍管理系统测试过程中,经过一定的测试,设计主要部分测试用例,主要采用等价类划分的测试方法进行测试。通过这次测试,有了一些发现,对学籍管理系统的BUG进行整理,进行修正。收获很大,不但掌握了测试的整个流程,对自己做事情的认真负责进行了考验,而且进一步提高该系统的质量,基本上成功完成了这次的测试任务。
6 致 谢
本文从选题到确定论文结构和定稿的过程中,都得到了导师聂景的悉心指导和无私帮助。在此,向导师表达我最诚挚的感谢和最衷心的祝福。在大学期间,也得到了聂景老师与其他老师们的谆谆教诲,我每迈出的一小步都离不开老师们的指引和关怀;信息系的老师们严谨的教学态度和渊博的学识给我留下了非常深刻的印象,使我受益终生。在撰写论文时,聂景导师给我提供了宝贵的意见,并对我的论文完善进行了悉心的指导,同时还感谢在一起生活和学习的同窗好友,感谢所有帮助过的人,在这里表示深深的谢意!
7参考文献
[1] 贺平.编著.《软件测试教程》.电子工业出版社.2005.6
[2] 王健.苗勇.刘郢.编著.《软件测试员培训教材》.电子工业出版社.2003.9
[3] 雷镀教育.编著《测试计划与测试用例》
[4] 雷镀教育.编著《自动化测试》
[5] 吴长安.软件测试的若干问题.《软件测试杂志》.2007.4.4期.12
[6] 蔡琰. 浅谈功能测试用例模板设计.《软件测试杂志》.2005第1期
[7] 张华. 软件测试的基本常识. 《软件测试杂志》. 2005-10-19.3期