软件测试毕业设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
阜阳师范学院
本科毕业设计
题目:班级管理系统的测试
学号:姓名:
年级:
系别:
专业:完成日期:
指导老师:
班级管理系统的测试
:学号:指导教师:
摘要在软件生命周期的各个阶段,都有可能会产生差错。虽然在每个阶段结束之前都有严格的复审,以期望能尽早的发现错误,但是经验表明审查并不能发现所有差错。如果在软件投入生产性运行之前,没有发现大部分错误,则这些错误迟早会在运行过程中暴露出来,甚至造成严重的后果,等到那时去改这些错误的代价会很高。测试的目的就是在软件投入生产性运行之前,尽可能地发现软件中的错误,测试是对软件规格说明、设计和编码的最后复审,所以软件测试贯穿在整个软件开发期的全过程。要对软件进行测试首先要明白软件要实现的功能,否则无法对软件进行测试。本文在分析软件测试的方法、目的、流程图等基本概念的基础上,重点介绍了对自己开发的班级管理系统的测试。
关键词:安装测试、功能测试、性能测试、单元测试
1. 软件测试的概念
1.1软件测试的定义
软件测试(Software testing)是软件生存期(Software life cycle)中的一个重要阶段,是软件质量保证的关键步骤。通俗地讲,软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码进行最终复审的活动。1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。
从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。
1.2软件测试的目的、原则、基本要求
1.2.1测试的目的
1.检验开发出来的软件是否符合用户的需求。
2.尽可能多地发现程序中的错误和缺陷。
1.2.2基本要求(测试人员)
1.了解软件的总体设计思路和详细设计过程
2.对整套软件的数据流程要十分清晰
1.2.3测试用例
由测试数据和相应的预期结果构成。在测试之前,一定要设计好测试数据和相应的预期结果,这是测试用例的基本原则和进行有效测试的最好途径之一
1.2.4测试原则
1. 根据测试数据来确定预期的输出结果。
2. 彻底检查每个测试结果(正确的、错误的),并对测试结果进行认真和仔细的分析。
3. 对非法的和非预期的输入数据也要像合法的和预期的输入数据一样编写测试用例。
4. 以挑剔的眼光来看待每个程序模块,不要设想程序中不会出现错误。程序做了它不该做的事情,即使是正确的,我们也应该把它视为错误。
5. 程序模块经测试后,残存的错误数目一般与已发现的错误数目成正比例。也就是说,一个模块中发现的错误越多,那么它可能残存的错误数目也就越多,对这样的程序模块,一定要进行严格和更彻底的测试。
6. 要保存测试用例。
2. 软件测试的方法
2.1 软件测试的基本方法软件测试的方法和技术是多种多样的。对于软件测试技术,可以从不同的角度加以分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试。从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。2.1.1黑盒测试黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边界值分析、因—果图、错误推测等,主要用于软件确认测试。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
2.1.2 白盒测试白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。
2.1.3 ALAC(Act-like-a-customer)测试
图(1)ALAC测试是一种基于客户使用产品的知识开发出来的测试方法。ALAC测试是基于复杂的软件产品有许多错误的原则。最大的受益者是用户,缺陷查找和改正将针对哪些客户最容易遇到的错误。2.2 单元测试的基本方法单元测试的对象是软件设计的最小单位——模块。单元测试的依据是详细设计描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术,系统内多个模块可以并行地进行测试。
2.2.1单元测试任务单元测试任务包括:1 模块接口测试;2 模块局部数据结构测试;3 模块边界条件测试;4 模块中所有独立执行通路测试;5 模块的各条错误处理通路测试。模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。测试接口正确与否应该考虑下列因素:1.输入的实际参数与形式参数的个数是否相同和属性是否匹配;2.输入的实际参数与形式参数的量纲是否一致;
3.调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同;
4.调用其他模块时所给实际参数的属性是否与