软件测试计划
北方民族大学 课程设计报告
系(部、中心) 计算机科学与工程学院 姓 名 xxx 学 号 xxxxxx 专 业 xxxxx 班 级 09 同组人员 课程名称 软件测试技术 设计题目名称 《学校实验室管理系统测试计划》 起止时间 2012年3月1日—2012年5月1日 成 绩 指导教师签名 xx
北方民族大学教务处制
目 录
1. 引言 ............................................................................................................ 1 1.1《测试计划》编写目的 .......................................................................... 1 1.2 项目简介 .............................................................................................. 1 1.3 所需参考资料 ....................................................................................... 4 1.4 测试提交文档 ....................................................................................... 4 2. 测试进度安排 ............................................................................................. 4 3. 测试资源 ..................................................................................................... 4 3.1 人力资源 .............................................................................................. 4 3.2 测试环境 .............................................................................................. 5 3.3 测试工具 .............................................................................................. 5 4. 测试方案 ...................................................................................................... 6 4.1 测试方法的选择 ................................................................................... 6 4.1.1测试类型 ....................................................................................... 6 4.1.2测试方法 ....................................................................................... 7 4.2 测试覆盖率要求 ................................................................................... 9 5. 测试项目说明 .............................................................................................. 9 参考文献 ........................................................................................................ 10
1. 引言
1.1《测试计划》编写目的
测试计划是在软件测试中最重要的步骤之一,它在软件开发的前期对软件测试做出
清晰,完整的计划,不光对整个测试起到关键性的作用,而且对开发人员的开发工作,整个项目的规划,项目经理的审查都有辅助性作用。
编写测试计划用来定义测试的范围、测试的方法、所需的资源、进度等,明确需要测试的产品项,需要覆盖的功能特性,需要执行的测试任务,每项任务的负责人,识别相关的风险。测试计划编写好后,领导可以根据测试计划做宏观调控,进行相应的资源配置,测试人员能够了解整个项目测试情况以及项目测试不同阶段所要进行的工作,便于其他人员了解测试人员的工作内容,进行有关配合工作,尤其是系统开发人员,要根据测试计划来安排自己的工作,以便测试人员找到Bug后,开发人员可以及时去掉Bug,很好的安排自己的工作。测试计划可以有效地预防计划的风险,保证计划的顺利进行。
1.2 项目简介
1.2.1 项目背景
系统名称:学校实验室设备管理系统 项目范围:系统登录模块
打开实验室设备管理系统主界面,用户需要输入正确的用户名和密码之后才能使用本系统。若输入错误将会给出提示信息并允许重新输入,但有一定的次数限制。 软件项目的提出者:实验室设备后勤部
系统开发者:北方民族大学计算机科学与工程学院 xxx班
以xxx领导小组
用户:实验室设备管理人员(管理员、教师、教务处等)、学生
运行环境:本系统针对Microsoft Windows 系统开发。适合运行于WindowsXP和 Windows7。
1.2.2
系统基本功能
图1-1 登陆系统模块的功能模块图
图 1_1 实验室设备管理系统功能模块图
图1-3 系统处理流程图
1.2.3 系统技术架构
本系统采用C/S结构,将数据处理和应用程序相分离;主要采用JSP编程技术,包含
用html语言设计界面,嵌入java语言实现对数据库的操作;因为数据量比较小,再者考虑到数据库的移植性,系统采用了ACCESS数据库,并用JDBC连接数据库。
1.3 所需参考资料
表1-1:所需资料列表
1.4 测试提交文档
表1-2:测试提交文档列表
2. 测试进度安排
表2-1:测试进度安排表
3. 测试资源
3.1 人力资源
表3-1:测试人力资源安排表
3.2 测试环境
3.2.1 硬件环境
(1)客户机:普通PC
CPU:1.8GHz以上 内存:512MB以上
能够运行IE6.0以上版本的机器 分辨率:推荐使用1024*768像素 (2)Web服务器
CPU:2.0GHz 内存:1GB以上 硬盘:250GB以上
网卡:1 KMb/s速度网卡 (3)数据库服务器
CPU:2.0GHz 内存:1GB以上 硬盘:250GB以上
3.2.2 操作系统
Windows7
3.2.3 软件环境
数据库:Access 2007
软件平台:JSP+ Adobe Dreamweaver CS4
3.3 测试工具
表3-2:测试工具列表
4. 测试方案
4.1 测试方法的选择
4.1.1测试类型
1) 按测试阶段划分:单元测试、集成测试、系统测试、验收测试。
A. 单元测试:单元测试是对软件基本组成单元进行的测试。测试的对象是软件设计最小单
位——模块。单元测试把软件的独立单元与程序的其他部分隔离开来进行的测试。 B. 集成测试:集成测试不是单纯的测试,还是验证集成后的系统是否达到了既定的设计目
标。集成测试是将已分别通过测试的单元(组件),按设计要求组合起来再进行的测试。集成测试的目的,是揭示接口以及模块间交互的缺陷。集成测试的策略主要有:大爆炸集成(大棒集成)、自顶向下集成、自底向上集成、三明治集成等。
C. 系统测试:系统测试是用于验证经测试的集成系统是否满足指定需求而进行的测试,是
系统级别的测试。系统测试的被测对象是软件的特性——包括功能和非功能(主要)的特性。系统测试要检验软件的各种功能操作是否正常,并检验它的效率、强度、兼容性、可靠性、故障修复等一系列的性能指标。
D. 验收测试:验收测试是在系统测试通过,以及发现错误的软件基本修正之后才开始的测
试,是整个确认测试的最后一个阶段。对于通用软件,会在一个公共的测试环境中进行验收测试。验收测试分为两个阶段:α测试:在模拟用户的环境中测试;β测试:在实际用户的环境中测试。验收测试的关注点是客户的观点和判断。
2) 按测试内容划分:性能测试、功能测试。
A. 性能测试:软件性能测试是在交替进行负荷和强迫测试时常用的术语。理想的“软件性
能测试”(和其他类型的测试)应在需求文档或质量保证、测试计划中定义。通常验证软件的性能在正常环境和系统条件下重复使用是否还能满足性能指标(响应时间、吞吐量、并发用户数、性能计数器、思考时间等)。或者执行同样任务时新版本不比旧版本慢。一般还检查系统记忆容量在运行程序时会不会流失(memory leak)。软件性能测试的目的,为了验证系统是否达到用户提出的性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的目的。一般的性能测试包括:压力测试、容量测试、效率性测试、稳定性测试、健壮性测试、容错性测试、数据转换测试、易用性测试、可维护性检查、文档检查等。 B. 功能测试:功能测试包括验证系统输入输出行为的各种测试。功能测试的目的,验证和
确认产品规格说明书规定的要求是否都得到了满足;验证每个单元模块及多个模块集成后的系统会不会出现错误。功能特性包括适应性、准确性、互操作性和安全性。
4.1.2测试方法
1) 白盒测试:白盒测试又称软件结构测试,指的是把被测软件看作一个盒子,在测试时,
不仅要关心软件的输入数据和输出结果,还要把盒子打开,研究里面的源代码和程序结构。
2) 黑盒测试:黑盒测试,指的是把被测软件看作一个盒子,我们不去关心盒子里面是什么
样子,只关心软件的输入数据和输出结果。
3) 静态测试:软件的功能在不被执行的时候,处于相对静止的状态——静态测试方法。静
态测试的对象包括文档、代码、界面等,主要是根据用户的要求、及相关标准规范进行分析与检查。常用的手段是人工检测,依靠人工审查或评审软件,偏重于编码风格、质量的检验,除了审查编码还要对各阶段的软件文档进行检验,计算机辅助静态分析,是很有效的静态测试。
4) 动态测试:当软件功能被执行的时候,软件的对应部分处于活动之中——动态测试方法。
通过观察代码运行时的动作,来获取执行结果,并得到时间效率、系统可靠性等方面的信息,动态测试通过真正运行程序发现错误,通过有效的测试用例,对应的输入/输出关系来分析被测程序的运行情况。
5) 手工测试:手工测试即测试人员在不借助工具的情况下,“亲力亲为”地进行测试。优
势:测试人员具有创造性,灵活性高,可以考虑到一些特殊用例和边界情况;对于复杂的逻辑判断、界面是否友好等方面的测试,手工测试有明显优势;发现缺陷的的比例较高,可达85%左右。局限性:覆盖率较低、不具有可重复性;测试效率较低;不能进行如系统负载、可靠性等性能测试。
6) 自动化测试:软件自动化测试是相对于手工测试而存在的,主要是通过软件测试工具来
实现测试。软件测试工具主要包括功能测试工具、性能测试工具、测试管理工具。优点:可重复性、效率高、准确、可靠、覆盖率高等。缺点:灵活性差,发现缺陷的比例较低,只能达到15%。
7) 回归测试:重复测试先前测试过的或修改过的程序,确认发生的更改是否给软件其他未
改变的部分带来新的缺陷。
8) 冒烟测试:指对一个新版本系统进行大规模的测试之前,先验证一下软件的基本功能是
否实现,是否具备可测性。如果基本功能实现了接着进行测试,反则就不测试了。一般,先进行冒烟测试,再进行回归测试。
9) 随机测试:指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,
并发现一些边缘性的错误。随机测试又叫猴子测试。当软件发布后,就会有成千上万的人像猴子一样对软件乱点乱敲。这种方法尽量模拟软件在实际的使用环境中的随机操
作,发现一些隐蔽的错误。随机测试的缺点:测试不规律、不系统,无法统计代码覆盖率和需求覆盖率,很难再进行回归测试。因此该方法一般用作辅助测试手段。
4.2 测试覆盖率要求
4.2.1 对源代码的测试覆盖率要求
对软件关键模块的语句覆盖率要达到100%,分支覆盖要达到90%以上。
4.2.2 对需求的测试覆盖率要求
软件测试的需求有三个层次,即任务需求、用户需求、功能需求,测试需求分析和测试用例设计参照的是软件需求规格说明书。 测试用例的执行率要在100%
5. 测试项目说明
表5-1:测试项目列表
参考文献
[1] [德]Spillner,Linz,[挪]Schaefer著,刘琴等译,《软件测试基础(第2版)》,人民邮电出版社,2009年4月
[2]朱少民,《软件测试方法和技术》,清华大学出版社, 2005年7月
[3]教育部考试中心/教育部考试中心,《全国计算机等级考试四级教程 - - 软件测试工程师(2008年版) 》,高等教育出版社,2007年9月
[4]赵斌,《软件测试技术经典教程(第二版)》,科学出版社,2011年3月
[5][美]Paul C.Jorgensen,《软件测试(原书第2版)》,机械工业出版社,2007年4月