测试计划
1 .引言
1.1 编写目的
在开发大型软件的漫长过程中,面对极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺。因此,在软件生命周期的每个阶段都不可避免地会产生差错。尤其对于机票预订系统这类会影响人们生活.财产的工程软件,必须尽量减少差错,以免造成严重的损失。测试是“为了发现程序中的错误而执行程序的过程”。测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明.设计和编码的最后复审,也是必不可少的关键步骤。
1.2 项目背景
本项目(机票预定系统)时由《》航空公司委托,由<>软件开发小组负责开发。
1.3 定义
SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。
SQL: 一种用于访问查询数据库的语言
事务流:数据进入模块后可能有多种路径进行处理。
主键:数据库表中的关键域。值互不相同。
外部主键:数据库表中与其他表主键关联的域。
ROLLBACK: 数据库的错误恢复机制。
1 . 4参考资料
机票预定系统项目计划任务书 《》航空公司 1999/3 软件工程及其应用 周苏、王文等 天津科学技术出版社 1992/1 软件工程 张海藩 清华大学出版社 1990/11
项目的计划任务书 《》软件开发小组 1999/6/1
项目开发计划 《》软件开发小组 1999/6/1
需求规格说明书 《》软件开发小组 1999/6/1
概要设计说明书 《》软件开发小组 1999/6/1
详细设计说明书 《》软件开发小组 1999/6/1
用户操作手册 《》软件开发小组 1999/6/1
2 . 任务概述
2 . 1 目标
测试是“为了发现程序中的错误而执行程序的过程”, 测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。
2 . 2 运行环境
由于系统将由两部分程序组成,安装在各旅行社客户机上的客户程序及航空公司内的数据服务器程序。
1.服务器端子系统的运行要求:
系统软件: Window NT Server
数据库管理系统:SQL Server
硬件要求:Pentium II 450以上, 1024M RAM, 36G HD
2. 客户端子系统的运行要求:
系统软件: Window NT Workstation
数据库管理系统:SQL Server
硬件要求:Pentium 133以上, 32M RAM, 2.1G HD
2. 3 需求概述
《》航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。 要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的 界面要单明了,易于操作,服务器程序利于维护。
2 . 4 条件与限制
必须在保证各硬件设备.软件系统齐备的情况下,资金充足,人员齐备, 各方面互相配合,齐心协力,共同完成。
3 . 计划
3 . 1 测试方案
测试方案是测试阶段的关键技术问题。为了提高测试效率降低测试成本,本测 试方案采用黑盒法设计基本的测试方案,再用白盒法补充一些方案。在黑盒法测试 方案中,采用等价划分技术,把所有可能的输入数据(有效的和无效的)划分成几 等价类,其划分类在以下的输入中再详述。
3 . 2 测试项目
客户机接受信息模块测试
客户机输出信息模块测试
网络接受和发送模块结构测试
服务器模块(包括数据库)测试
各模块之间的接口测试
系统测试
3 . 3 测试准备
在测试前,与各模块的主要负责人共同协商讨论,以概要设计说明书.详细设 计说明书作为总的提纲,选择合适的输入输出数据,并加以意义列举说明。 3 . 4 测试机构及人员
测试机构由 《》工作组组成,人员有《》软件开发小组全体人员。 4 . 测试项目说明
4 . 1 测试项目名称及测试内容
在测试过程中,首先需要对各子单元过程进行测试。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。
各子模块测试名称如下:
客户机接受信息模块测试
客户机输出信息模块测试
网络接受和发送模块结构测试
服务器模块(包括数据库)测试
各模块之间的接口测试
系统测试
4 . 2 测试用例
4 . 2 . 1 输入
? PersInfoExam 过程:
在 PersInfoExam 过程中,首先对用户的输入信息进行测试。客户机上的输入信息为旅客资料或帐单号,还包括一个定票/领票选项。输出为打印帐单或机票,和确认或出错信息。
在输入的测试数据中可分为有效输入类.无效输入类。
其中的错误种类有:
无效输入类
1.数据类型不匹配,PErrorType =T;否则=F;
姓名 string 旅行目的地 string
性别 string 旅行时间 date 工作单位 string (年/月/日 yy/mm/dd) 身份证号码 long int 定票/取票 boolean
2.数据超出规定范围PErrorRank =T; 否则=F;等等
性别只能是‘男’或‘女’;身份证号码按规定必须是13位旅 行时间必须在定票的当天过一天以后; 等等
有效输入类
1.当用户的输入只有旅客资料或帐单号时,则
? CheckNoticeExam过程:
在CheckNoticeExam 过程中,对在帐单和取票通知的信息界面中输入的各项信息进行初步检验。
无效输入类:
1.数据结构不匹配,CerrorType=T,否则=F;
帐单号 long int
姓名 string
身份证号码 long int
付款金额 money
航班号 string
取票截止日期 date
目的地 string
2.数据超出规定范围CErrorRank =T; 否则=F;
如帐单号不是规定的15位;金额为负;取票截止日期已过;等等
? PersInfoInput 过程:
将输入界面表单中的数据输入到Class PersInfo
Class PersInfo{ /* 伪码 */
String name= 姓名 ;
String sex= 性别;
String company= 工作单位;
Long int idcode= 身份证号码;
Date stime= 旅行时间;
(syear/smonth/stime=年/月/日) String denist= 目的地
Bool ocflag= 定票/取票
}
? CheckNoticeInput过程:
经检验无误后,将输入界面表单中的数据输入到Class CheckNotice
Class CheckNotic{
Long int cncode=帐单号
String name=姓名
Long int idcode=身份证号码
Money bill = 付款金额
String planecode= 航班号
Date dtime= 取票截止日期
String denist= 目的地
}
4 . 2 . 2 输出
? PersInfoExam 过程:
对在旅客信息界面中输入的各项信息进行初步检验。若发现错误,令
PErrorAppear=T,判断错误类型,并将相应的错误类型PErrorType或PerrorRank
作为参数,转入IErrorHandle过程。若未发现错误,转入PersInfoInput过程。 ? PersInfoInput 过程:
无
? CheckNoticeExam过程:
对在帐单和取票通知的信息界面中输入的各项信息进行初步检验。若发现错
误,令CErrorAppear=T,判断错误类型,并将相应的 错误类型CErrorType或
CErrorRank作为参数,转入IErrorHandle过程。若未发现错误,转入
CheckNoticeInput过程。
? ErrorHandle过程:
在PersInfoExam或CheckNoticeExam过程中若发现错误,就转入本过程,执行
相应的处理,并输出相应的出错信息。
If (PErrorType==T)
输出“您的个人信息可能输错了位置。请重试。”
If (PErrorRank==T)
输出“您的个人信息不适应规定范围。请重试。”
再转入旅客信息输入的界面中。
If (CErrorType==T)
输出“您的帐单信息可能输错了位置。请重试。”
If (CErrorRank==T)
输出“您的帐单信息不适应规定范围。请重试。”
再转入帐单和取票通知信息的输入界面。
? DBOperaCheck过程:
检验网络传输过来的数据。若是出错信息,转入OErrorHandle过程。否则转 入JudgeOrderOrCheck过程。
? CheckNoticeOutput过程:
将帐单和取票通知输出到界面1中。注意格式。
Long int cncode =帐单号;
String name= 姓名 ;
String sex= 性别;
String company= 工作单位;
Long int idcode= 身份证号码;
Date stime= 旅行时间;
( syear/smonth/stime=年/月/日) String denist= 目的地
Bool ocflag= 定票/取票
? TicketOutput过程:
将机票输出到界面2。注意格式。
Long int planecode=航班号;
Date/time stime=起飞时间;
String name=姓名;
Long int idcode=身份证号码;
Int seatcode = 座位号;
Money price= 票价;
4 . 2 . 3 步骤及操作
在测试过程中,首先需要对各子单元过程进行测试。各子单元过程的测试必须先在程序设计员调试并编译通过后才能进行。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。
其操作过程如下:
1.在客户机接受信息模块过程中,先对各子单元过程分别进行测试,然后根
据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。
2.同样,在客户机输出信息模块.网络接受和发送模块结构和服务器模块(包
括数据库)过程中先对各子单元过程分别进行测试,然后根据白盒法按照
详细设计说明书中的流程图对其进行跟踪测试。,
3.然后,根据各模块之间的各种关系,对其接口进行测试。
4.在系统测试中,要注意对各种意外情况(列如断电.硬盘损坏等)加以 处理,对数据库要注意其安全性.可靠性.健壮性.效率。网络传输更
要注意其安全性。
4 . 2 . 4 允许偏差
4 . 3 进度
由于其测试过程较长,需要对各子单元程序.各模块及它们之间的接口分 别进行测试进度.一般测试过程都伴随其概要设计.详细设计过程一起进行, 进度在18个月左右。
4 . 4 条件
必须在保证各硬件设备.软件系统齐备的情况下,资金充足,人员齐备, 各方面互相配合,齐心协力,共同完成。
4 . 5 测试资料
测试资料主要是《》软件开发小组的各类文档及《》航空公司公司提供的各类资料档案。
5 .评介
5 . 1 准则
首先,我们要认识到测试是软件开发过程中一个非常重要的环节,一各好的软件必须经过无数次的测试。软件测试是保证软件质量的关键步骤。
??
第二篇:测试计划实行版本
教务管理系统
测试计划
教务管理系统 测试计划
目 录
1.引言?????????????????????????????????4
1.1编写目的????????????????????????????4
1.2项目背景????????????????????????????4
1.3定义??????????????????????????????5
2.计划?????????????????????????????????5
2.2测试内容????????????????????????????7
2.3学籍管理模块测试??????????????????????7
2.4教师信息管理模块测试??????????????????????9
2.5学生信息管理模块测试??????????????????????9
2.6成绩管理系统模块测试??????????????????????10
2.7课程管理模块测试??????????????????????11
3.测试设计说明?????????????????????????????12
3.1学籍管理模块测试??????????????????????12
3.2注册管理模块测试??????????????????????13
3.3教师信息管理模块测试??????????????????????15
3.4学生信息管理模块测试??????????????????????16
3.5成绩管理系统模块测试??????????????????????17
3.6课程管理模块测试??????????????????????19
3.8性能测试????????????????????????????20
4. 评价标准???????????????????????????????21
4.1范围??????????????????????????????21
4.2数据整理????????????????????????????21
4.3尺度??????????????????????????????21
1
教务管理系统 测试计划
1 引言
1.1目的:
测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明.设计和编码的最后复审,也是必不可少的关键步骤。由于在开发软件的过程中,开发人员会面对极其错综复杂的问题,我们开发设计人员,用户,委托公司等的主观认识不可能完全符合客观现实,同时与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,甚至会出现分歧或是对同一事物理解的偏差。因此,在软件生命周期的每个阶段都不可避免地会产生差错。在教务系统这类用户类型固定为学生,教师及教务管理人员,但涉及到学校教学管理的信息管理系统中,就必须尽量减少差错,以免造成严重的损失。因此,软件测试对整个软件的开发是不可或缺的,而一份完整的测试计划在开发流程里也是必须的。
1.2 项目背景:
开发软件名称:H教务管理系统
项目任务提出者:大庆师范学院教务处
项目开发者: ZOWL团队
用户:大庆师范学院学生,教务管理人员
1.3 定义:
SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。
SQL: 一种用于访问查询数据库的语言
事务流:数据进入模块后可能有多种路径进行处理。
主键:数据库表中的关键域。值互不相同。
外部主键:数据库表中与其他表主键关联的域。
OLLBACK: 数据库的错误恢复机制。
2.计划
2.1测试内容:
学籍管理功能模块测试;
注册管理功能模块测试;
教师信息管理模块测试;
学生信息管理模块测试;
成绩管理功能模块测试;
课程管理功能模块测试;
服务器接受端模块测试;
2
教务管理系统 测试计划
2.2各模块测试
参与单位:ZOWL开发小组
2.3.1 条件
要实现本功能需要系统和教务系统数据库进行集成,以便实时收集学生学籍信息,教师注册信息及课程教务信息等数据信息。
所需硬件:
一台服务器 ,一台PC机(都已连接上了因特网)
所需软件:
操作系统:Windows 2003 Server
数据库管理系统:Microsoft SQL Server 2005
所需工作人员:软件开发小组全体人员
2.3.2 测试资料
大庆师范学院提供的学生学籍统计数据
2.5 教师信息管理模块测试
参与单位:ZOWL开发小组
被测试部位:教师信息管理模块
2.5.1 进度安排
由于需要对各子单元程序,各模块及它们之间的接口分别进行测试进度,故测试进度在1天左右。
3 测试设计说明
3
教务管理系统 测试计划
3.1 学籍管理功能模块测试
3.1.1 控制 人工输入
3.1.2 输入
该模块需要输入的信息为学生的学籍信息,学生注册信息,在输入的测试数
据中可分为有效输入类和无效输入类。其中的错误种类有:
无效输入类:
1)数据类型不匹配
学号 string 姓名 string
院系 string 专业 string
转专业记录号 long int 班级号 char(4)
时间(休学 、停学 ) date 复学学期 string 原因及意见 string 备注 string
2)数据超出规定范围
转专业记录号最大11位;各项时间的格式为 年-月-日(yyyy-mm-dd)。
有效输入类:
当用户只输入各项记录标的基本信息时,则有效;
3.1.3 输出
对数据进行初步检验。若发现错误,则转入处理异常的过程并抛出异常,给
出数据格式不符合要求的提示;若未发现错误,则修改学生学籍的信息,然后更
新数据库中的学籍信息和更新已注册的学生信息。
3.1.4过程
以教务管理员的权限去分别填写学籍管理的相关记录表。查找到的相应同学
4
教务管理系统 测试计划
的学籍管理信息及学生注册信息。选择好学生的注册信息 (学号、姓名、院系、班级、学籍状态、各项学籍信息)进行修改,然后确定,把更新信息发送至服务器。
各子单元过程分别进行测试,然后根据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。
3.2 注册管理功能模块测试
3.2.1 控制
半自动引入
3.2.2 输入
该模块需要院系的交往管理人员输入的注册条件(学生学号、或班级号),再输入注册命令,完成相应注册。在输入的测试数据中可分为有效输入类和无效输入类。其中的错误种类有:
无效输入类:
1) 数据类型不匹配
学号 string 班级号 char(4)
2) 数据超出规定范围
学号的长度与格式不符合大庆师范学院的规定,班级号的长度超出规定长度 4位数
有效输入类:
大庆师范学院本科生学号编码应依据以下规则进行编码:
1)07级以前为12位数,编码原则:01+年号(四位数)+专业班级编号(四位数)+个人班级编号(2位数);
2)07级及以后变为10位数,编码原则:U+年号(四位数)+班级编号(3位数)+个人编号(2位数)
3.2.3 输出
对教务管理人员提交的信息进行检验。若没有填写学号或班级号,则系统会弹出“请输入一个学号或一个班级号”的提示;若填写的学号格式不正确,则系统会弹出“该学号不存在”的提示;若填写的班级号格式不正确,则系统会弹出“该班级不存在”的提示;若未出现错误,则进入注册管理界面。
3.2.4 过程
院系教务管理人员通过输入需要注册的学生的学号或需注册的班级的班级
5
教务管理系统 测试计划
号,系统将调用学生信息管理模块、显示学生基本信息或班级信息,来更改学生注册状态和班级注册状态。
各子单元过程分别进行测试,然后根据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。
3.3 教师信息管理模块测试
3.3.1 控制 半自动引入
3.3.2 输入
该模块需要教务管理人员或教师本人输入教师号进行教师信息查询查询,而由教务管理人员输入各项教师基本信息来完成教师信息的添加、修改、删除功能。在输入的测试数据中可分为有效输入类和无效输入类。其中的错误种类有:
无效输入类:
1) 数据类型不匹配
教师号 string 姓名 string
性别 char(1) 开始执教时间 date
职称 string
2) 数据超出规定范围
教师号不符合大庆师范学院的规定;开始执教时间的格式不合规范。
有效输入类:
在性别项只能输入F(女)或M(男),则查询有效;开始执教时间的格式为 年-月(yyyy-mm),且执教时间必须在系统当前时间以前或当前时间。
3.3.3 输出
对用户提交的信息进行检验。若没有按教师号格式输入教师号,则系统会弹出“该教师不存在”的提示;若输入的开始执教时间在当前时间以后,则系统会弹出“不能对以后的时间进行注册”的提示;若未出现错误,则进入教师信息管理页面。
3.3.4 过程
教务管理人员或教师输入教师的教师号,点击查询,下面将出现所查询的教师信息(教师号,姓名,性别,年龄,开始执教时间,职称)。教务管理人员选择相关命令可对教师信息进行添加、删除、修改。各子单元过程分别进行测试,然后根据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。
6
教务管理系统 测试计划
3.4 学生信息管理模块测试
3.4.1 控制 半自动引入
3.4.2 输入
该模块需要教务管理人员或学生本人输入学号进行教师信息查询查询,而由教务管理人员输入各项学生基本信息来完成教师信息的添加、修改、删除功能。在输入的测试数据中可分为有效输入类和无效输入类。其中的错误种类有:
无效输入类:
1) 数据类型不匹配
学号 string 姓名 string
性别 char(1) 班级号 char(4)
院系 string 家庭住址 string
身份证号 string
2) 数据超出规定范围
无范围限定:
学号的长度与格式不符合大庆师范学院的规定,班级号的长度超出规定长度 4位数 ;身份证号长度与格式不符合《中华人民共和国公民身份证号管理规范》。
有效输入类:
身份证号长度与格式,班级号。根据大庆师范学院的规定,大庆师范学院本科生学号编码应依据以下规则进行编码:
1)07级以前为12位数,编码原则:01+年号(四位数)+专业班级编号(四位数)+个人班级编号(2位数);
2)07级及以后变为10位数,编码原则:U+年号(四位数)+班级编号(3位数)+个人编号(2位数)
3.4.3 输出
对用户提交的信息进行检验。若没有按学号格式输入学号,则系统会弹出“该学生不存在”的提示;若输入的身份证号不服个规范,则系统会弹出“请输入正确的身份证号”的提示;若未出现错误,则进入学生信息管理页面。
3.4.4 过程
教务管理人员或学生输入教师的学号,点击查询,下面将出现所查询的学生信息(学号,姓名,性别,班级,院系,家庭住址,身份证号)。教务管理人员选择相关命令可对学生信息进行添加、删除、修改。各子单元过程分别进行测试,然后根据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。
7
教务管理系统 测试计划
3.5 成绩管理功能模块测试
3.5.1 控制 半自动引入
3.5.2 输入
该模块需要由教师输入的信息为各学科成绩,在输入的测试数据中可分为有效输入类和无效输入类。其中的错误种类有:
无效输入类:
1) 数据类型不匹配
学号 string 课程名 string
成绩 float
2) 数据超出规定范围
学号不符合大庆师范学院的规定。
有效输入类:
选择的课程名一次只能一个,成绩为小于100的非负十进制浮点数,精度为精确到小数点两位(DD.DD)。
3.5.3 输出
当教师选择课程时,没有选择或选择一个以上的课程时,系统会弹出“一次只能选择一门课程”;当登入的成绩不符合规范时,系统会弹出“请输入正确的分数”;当输入均符合要求时,系统会提示“提交”或“保存”。
3.5.4 过程
当教师登录系统后,选择成绩录入命令,系统显示选修了此课程的所有学生的信息,并给出成绩录入框,教师进行成绩录入操作录入过程中,系统提供保存和提交按钮。当教师选择了保存后,系统保存输入的成绩,但成绩状态为“已录入”状态,此状态下,教务管理人员和学生不能查看到成绩信息;当教师选择提交后,系统保存成绩,并将成绩状态改为“已提交”。
各子单元过程分别进行测试,然后根据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。
8
教务管理系统 测试计划
3.6 课程管理功能模块测试
3.6.1 控制 半自动引入。
3.6.2 输入 将课程编码从教务数据库中的课程数据导入系统。
3.6.3 输出
查询出来的课程信息会通过查询选项显示出来,教务管理人员可以通过修改显示的课程信息来达到修改教务数据库中的课程数据。
3.6.4 过程
课程管理主要是对课程信息进行查询、修改、添加、删除操作。其中教务管理人员拥有所有操作权限,教师则能查看自己所授课程的信息。
各子单元过程分别进行测试,然后根据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。
3.7服务器接受端模块测试
3.7.1 控制 半自动引入。
3.7.2 输入 选课系统模拟机发送来的原始数据(TCP包)。
3.7.3 输出 提取出来的信息发送到SQL 2005服务器。
3.7.4 过程
选课系统发送出数据(学生信息,课程信息,教师信息),系统数据接收端在新数据到来后会提示”New connection has come.”、”Waiting for a connection……”,然后接受选课系统传来的原始数据(TCP包),经过分析整理,将其转换成Report的实例,并将信息提取出来发送到SQL 2005服务器。
3.8 性能测试
我们使用的是Microsoft的Web Application Stress Tool(WAS,Web应用负载测试工具),用于测试Web服务器的性能。
9
教务管理系统 测试计划
3.8.1 后台测试
设置:
测试时间:10分钟
测试内容:后台主页面(Default.aspx)
后台网点分析页面(WaitTimeYearAnal.aspx)
后台网点日预测页面(WaitNumberDayPredict.aspx)
后台网点月预测页面(TotalNumberMonthPredict.aspx)
后台网点年预测页面(TotalNumberYearPredict.aspx)
设置并发连接数:100
测试结果:
点击数(Number of hits): 674
每秒请求数量(Requests Per Second):1.12
请求执行时间(Request Execution Time):
后台主页面:4.14ms
后台网点分析页面:3.82ms
后台网点日预测页面:2.29ms
后台网点月预测页面:2.65ms
后台网点年预测页面:1.81ms
3.8.2 前台测试:
设置:
测试时间:10分钟
测试内容:主页面(BankSite.aspx)
设置并发连接数:100
测试结果
点击数(Number of hits): 88
每秒请求数量(Requests Per Second):0.15
请求执行时间(Request Execution Time):15.09ms
4 评价准则
4.1 范围 测试用例所能接受的范围局限于华中科技大学。
4.2 数据整理 教务数据库自动生成方式。4.3 尺度
(1) 输出结果的类型合理。
(2) 动态数值要求:
在正常工作条件下,每分钟要处理的数据需求峰值为100个,即平均处理的查询请求为100。最大情况考虑峰值的两倍。
(3) 精度要求:
时间:精确到分钟。
10