教学研时系统软件测试报告

软件测试项目计划

姓 名: xxx [1**********]46

xxx [1**********]47

学 院: 信息学院 专 业: 软件工程 指 导 教 师: xxxxx

2015年5月20日

软件测试计划

第1章 引言 1.1目的

本项目的目标是实现教研项目和教材管理的电子化、公开化。本测试计划目的是为了发现软件中的错误,是对教研管理系统中的测试计划、设计测试用例,指导单元测试,使软件测试工作进行更顺利,及早发现和修正软件规格说明书的问题,使软件测试工作更易于管理。

1.2名词解释

1.3参考资料

《软件测试》 佟伟光 人民邮电出版社 《教研项目与研时统计系统需求分析》 《北京联合大学教研管理系统系统设计报告》

《北京联合大学教研项目管理与研时统计系统使用说明V1.1_2010_04_25》

1.4时间进度

测试开始时间:2015年4月18日 发布时间:2015年4月18日

第2章 项目背景 2.1项目来源与目标

项目来源:软件测试实验课程所给出的“北京联合大学教研项目管理与研时统计系统”。

目标:发现软件中的错误,找出软件潜在缺陷,使软件测试工作进行更顺利,更易于管理。

2.2测试范围

项目负责人登记填报维护项目信息,教研管理人员监督管理核实项目的过程和结果, 项目负责人录入项目信息,项目负责人和教研管理人员共同对项目信息负责。教研管理人员能够快速准确的统计每个职工、每个部门的教研工作量。 按职责各类待测功能为:

1)普通教职员工:对负责的项目进行年度经费申报、研时申报分割单的填写;主编教材信息的填报,教材所得研时分割单的填写,以及个人负责项目及其经费信息的查询、个人所得研时的汇总、个人密码修改等。非项目负责人或非教材主编的普通员工查询个人的教研工作量。

2)院部处教务管理人员:本部门的教材研时申报信息、本部门人员作为项目负责人的项目的研时申报信息的审核。本部门研时信息查询、汇总等。 3)校教务管理人员:各类项目的管理,包括项目信息、项目到账经费信息的添加、维护等。

4)超级管理员:研时、研时酬金的计算和统计报表的输出,研时申报的期限管理等。

5)系统管理员可以对基础信息等进行添加、删除、修改等操作

由此分析得出,主要操作功能包括:基本信息的录入、修改、删除、审核、查询统计功能。 功能可细化为:

1)教科研项目、教材编写项目信息录入、修改功能; 2)教科研项目、教材编写项目信息的审核、查询统计功能; 3)教科研项目、教材编写年度研时申报信息的录入、修改功能; 4)教科研项目、教材编写年度研时申报信息的审核、查询统计功能; 5)教科研项目、教材编写成员所得研时申报信息的录入、修改功能; 6)教科研项目、教材编写成员所得研时申报信息的审核、查询统计功能; 7)校本部各学院(部门)教科研项目、教材编写研时信息的统计和报表输出功能。

8)教科研项目、教材编写研时信息公示输出(报表)

2.3项目人员

列出项目参与人员的职务、姓名、E-mail 和电话。

2.3测试文档 2.3.1测试参考文档

2.4.2测试提交文档

第3章质量目标 3.1产品质量目标

3.2测试质量目标

T

第4章 资源需求 4.1测试环境 4.1.1硬件测试环境

U 4.1.2软件测试环境

4.2测试工具

此项目将列出测试使用的工具以及用途:

第5章 测试策略 5.1 整体测试策略

一、测试步骤:测试过程按三个步骤进行,即单元测试,组装测试,系统测试,根据不同阶段测试的侧重点不同分别介绍测试策略:

(1)单元测试:是对功能模块进行正确检验的测试工作,也是后续测试的基础,目的是发现各模块内部可能存在的各种差错,因此需要从程序的内部结构出发设计测试用例。

(2)集成测试:也叫组装测试或联合测试,在单元测试的基础上需要将所有的模块按照设计要求组装成系统。

(3)系统测试:目的在于验证软件的功能和性能及其他特性是否和用户的要求一致。 还有用户验收/确认测试:分别为配置审查、Alpha测试、Beta测试。 二、注意事项

(1)测试用例应由测试输入数据、测试执行步骤和与之对应的预期输入结果三部分组成。测试用例的设计要确保能够覆盖所有可能路径。在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。不合理的输入条件是指异常的、临界的,可能引起问题的输入条件。

(2)严格执行测试计划,排除测试的随意性。对每一个测试结果做全面的检查。妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。

5.2测试类型 功能测试:

设计测试:

兼容性测试:

5.3测试技术

黑盒测试:以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。 白盒测试:根据程序内部结构进行测试,又称结构测试。

动态测试:由三部分组成:构造测试用例、执行程序、分析程序的输出结果。

等价类划分:把全部输入数据划分为若干等价类,在每一个等价类中取一个或多个数据作

为测试用例 。 边界值:测试用例要取自等价类边界及其附近。

条件组合覆盖:设计测试用例,使得每个判定中条件的各种可能组合都至少出现一次。 路径覆盖:设计测试用例,使得程序结构的每一条路径至少走过一次。

负载测试:使测试用例随机并发地大量地执行,以检测被测软件正常运行的能力。

第6

章 测试进度计划

对项目各阶段的测试工作制订时间进度计划

测试用例

一、白盒测试

1部门研时标准修改

1. 代码 (1)protected void gvYsStandInfo_RowCommand(object sender,

GridViewCommandEventArgs e) {

string Bk_YsStandID =

gvYsStandInfo.DataKeys[Convert.ToInt32(e.CommandArgument)].Value.ToString();

if (e.CommandName == "Mod") {

//传递修改的标志跳转页面

Response.Redirect("BkYsStanMod.aspx?ID=" + Bk_YsStandID); }

else if (e.CommandName == "Del") {

dataOperate.execSQL("delete from Book_YsStand where Bk_YsStandID='" + Bk_YsStandID + "'");

//显示部门信息

this.gvYsStandInfo.DataSource = dataOperate.getDataset("select * from Book_YsStand", "Book_YsStand");

this.gvYsStandInfo.DataBind(); } } }

2.基本路径测试法:

2.1 程序流程图

2.2程序的控制流图

2.3 程序复杂度为3;

2.4 基本测试路径为:

A: 1-2-3-5-6-7-8;

B: 1-2-4-8; C: 1-2-3-8; 2.5 .测试用例设计:

2.6测试记录

2:教材清单(修改)

1.代码

protected void gvBookInfo_RowCommand(object sender, GridViewCommandEventArgs e)

{

string Jc_ISBN = gvBookInfo.DataKeys[Convert.ToInt32 (e.CommandArgument)].Value.ToString();

if (e.CommandName == "See") {

//跳转页面

Response.Redirect("BookDetail.aspx?ISBN=" +Jc_ISBN ); }

else if (e.CommandName == "Mod") {

//查询是否有分割信息完成分割不能修改

string IsFenGeSql = "select count(*) from Ys_Assign where Item_ID='" + Jc_ISBN + "'";

//查询教材信息是否审核完成审核不能修改

string IsCheckSql = "Select Is_Check,Is_ChuLi from Book_Info where ISBN='" + Jc_ISBN + "'";

SqlDataReader IsCheckSdr = dataOperate.getRow(IsCheckSql); IsCheckSdr.Read();

string Is_Check = IsCheckSdr["Is_Check"].ToString().Trim(); string Is_ChuLi = IsCheckSdr["Is_ChuLi"].ToString().Trim(); IsCheckSdr.Close(); if (Is_ChuLi == "1") {

WebMessageBox.Show("教务处已完成公示,不能再进行修改"); }

if (dataOperate.seleSQL(IsFenGeSql) != 0) {

WebMessageBox.Show("已完成分割不能再修改"); }

else if (Is_Check == "1") {

WebMessageBox.Show("完成审核不能再修改"); } else {

//传递修改的标志跳转页面

Response.Redirect("BookMod.aspx?ISBN=" + Jc_ISBN); } }

else if (e.CommandName == "Del") {

//查询是否有分割信息完成分割不能删除

string IsFenGeSql = "select count(*) from Ys_Assign where Item_ID='" + Jc_ISBN + "'";

//查询教材信息是否审核,完成审核不能删除

string IsCheckSql = "Select Is_Check,Is_ChuLi from Book_Info where ISBN='" + Jc_ISBN + "'";

SqlDataReader IsCheckSdr = dataOperate.getRow(IsCheckSql); IsCheckSdr.Read();

string Is_Check = IsCheckSdr["Is_Check"].ToString().Trim(); string Is_ChuLi = IsCheckSdr["Is_ChuLi"].ToString().Trim(); IsCheckSdr.Close();

if (Is_ChuLi == "1") {

WebMessageBox.Show("教务处已完成公示不能再删除"); }

if (dataOperate.seleSQL(IsFenGeSql) != 0) {

WebMessageBox.Show("已完成分割,不能再删除"); }

else if (Is_Check == "1") {

WebMessageBox.Show("完成审核不能再删除"); } else {

dataOperate.execSQL("delete from Book_Info where ISBN='" + Jc_ISBN + "'"); }

gvBookInfo.DataSource = dataOperate.getDataset("select ISBN,Bk_Name, Bk_Publisher,Pub_Date,Bk_ZiShu,Bk_Author,Staff.Staff_Name as Bk_ZhuBian,Department.DeptName as

ZhuBian_Dept,Bk_XingZhi,Is_CongShu,CongShu_Num,Is_ZaiBan,Book_LeiBie.Bk_TypeName as Bk_LeiBie,Book_Level.Bk_LevelName as Bk_Level,Book_YsStand.Bk_YsStandName as Bk_HsJb,Bk_CjFj,Is_Check,Bk_ZsYs from

Book_Info,Staff,Department,Book_LeiBie,Book_Level,Book_YsStand where

Book_Info.Bk_ZhuBian=Staff.Staff_ID and Book_Info.ZhuBian_Dept=Department.DeptID and Book_Info.Bk_LeiBie=Book_LeiBie.Bk_TypeID and Book_Info.Bk_Level=Book_Level.Bk_LevelID and Book_Info.Bk_HsJb=Book_YsStand.Bk_YsStandID and Staff_ID='" + Session["UserName"].ToString() + "'", "Book_Info"); gvBookInfo.DataBind(); } }

2.基本路径测试法: 2.1程序流程图

控制流图

2.2 程序复杂度为10;

2.3 基本测试路径为:

A: 1-2-3-22;

B: 1-2-4-5-6-8-9-11-22; C: 1-2-4-5-6-7-22 D: 1-2-4-5-6-8-10-22 E: 1-2-4-5-6-8-9-12-22 F: 1-2-4-13-22

G: 1-2-4-13-14-15-17-22; H: 1-2-4-13-14-15-16-19-22 I: 1-2-4-13-14-15-16-18-20-22 J: 1-2-4-13-14-15-16-18-21-22

2.4 .测试用例设计:

2.5测试记录

功能名称: 教材清单 文档编号:01

3:酬金标准修改

1代码:

protected void gvCjLevelInfo_RowCommand(object sender, GridViewCommandEventArgs e)

{

string Ys_CjLevel =

gvCjLevelInfo.DataKeys[Convert.ToInt32(e.CommandArgument)].Value.ToString();

if (e.CommandName == "Mod") {

//传递修改的标志跳转页面

Response.Redirect("CjLevelMod.aspx?Ys_CjLevel=" + Ys_CjLevel); }

else if (e.CommandName == "Del") {

//删除教材信息同时删除年度申报成员分割单信息首遍历XiangMuJiLuYSS和FenGeDan看是否有与KeTiBianHao对应的记录,无删除,有警告

dataOperate.execSQL("delete from Ys_ChouJinStand where Ys_CjLevel='" + Ys_CjLevel + "'");

//显示部门信息

this.gvCjLevelInfo.DataSource = dataOperate.getDataset("select * from Ys_ChouJinStand", "Ys_ChouJinStand"); this.gvCjLevelInfo.DataBind();

} }

2.基本路径测试法:

2.1程序控制流图:

2.2 程序复杂度为2;

2.3 基本测试路径为:

A: 1-2-3-6;

B: 1-2-4-5-3;

2.4 .测试用例设计:

2.5 测试记录

功能名称: 酬金标准修改 文档编号:

二、 黑盒测试

1:职工信息(staffInfo)

1.1.1

方法1:等价类划分法 有效等价类: ① 职工号={输入为数字} ② 职工姓名={非空}

无效等价类:

③ 职工号={输入汉字} ④ 职工号={输入英文字母}

⑤ 职工号={输入符号} ⑥ 职工号={表中不存在} ⑦ 职工姓名={表中不存在}

测试用例

2.1.2 方法2:因果图法

分析条件和结果,以及建立中间节点 条件(原因): ① 输入职工工号 ② 输入职工姓名 中间节点 ③ 按“查询”按钮 ④ 按“返回”按钮 结果: ⑤ 显示职工信息 ⑥ 提示输入格式错误 ⑦ 停留在此页面

2:项目研时标准修改

2.1.1 方法1:等价类划分法 有效等价类: ① 标准代码={输入为字母或数字} ② 研时标准={输入为数字} 无效等价类: ③ 标准代码={输入标点、符号} ④ 标准代码={系统中不存在的标准代码} ⑤ 标准代码=∅ ⑥ 研时标准={输入为字母} ⑦ 研时标准={输入标点字符} ⑧ 研时标准={输入汉字} ⑨ 研时标准=∅

2.2.2 方法2:因果图法

分析条件和结果,以及建立中间节点 条件:

1、 输入酬金代码

2、 输入酬金标准 中间节点

3、 点击“查询”按钮 4、 点击“返回”按钮 结果:

5、 显示当前部门信息 6、 提示输入错误 7、 停留在此网页

画出因果图如下:

测试用例

软件测试报告

第1章 简介 1.1编写目的

此次工程主要是对“教研管理系统”的主要代码进行软件测试,进而更好地发现这个系统中存在的问题,能更全面的,从多方面的问题入手来改善这个系统,从而是它根据有实用性和可操作性。该文档包括设计说明书、软件测试的基本测试方法(白盒测试和黑盒测试) 、测试的缺陷报告及改进措施等等。

1.2项目背景

近年来,随着学校对科研的重视,加大对科研的支持和奖励,我校的科研工作蒸蒸日上。教务处负责的教研工作量也在加大,每年的教研项目和成果、教材的编写数量都日益增多。按照常规的管理方式无法高效的收集、整理、核对和管理教研工作。为有效地管理这些项目,快速准确地统计每个教职员工的教研工作量,成为教研管理部门的迫切而艰巨的任务。本项目正是为了解决这一问题而设计的。

1.3系统简介

该项目实现了教研项目和教材管理的电子化、公开化,使得教职员工、院部教务管理人员、校教务管理人员各负其责、各司其职,通过系统有机地结合在一起,减少了中间环节,避免了数据的重复上报,提高了工作效率,使统计工作的速度和质量都得以提高。 教职员工负责项目、教材的研时申报;院部教务管理人员审核本部门人员负责的研时申报信息及分割信息,生成并上报本部门年度研时汇总表《教研工作量研时汇总表》;校教务管理人员负责各类项目的管理,包括经费的管理;系统管理员负责基础信息的维护、科研酬金的统计及报表输出等。

1.4术语和缩写词

1.5参考资料

1.《软件测试》 佟伟光 人民邮电出版社 2.《教研项目与研时统计系统需求分析》 3.《北京联合大学教研管理系统系统设计报告》

4.《北京联合大学教研项目管理与研时统计系统使用说明V1.1_2010_04_25》

2测试概要 2.1测试用例设计

1、等价类划分测试用例设计:

先确认有效等价类和无效等价类之后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:

1)为每一个等价类规定一个唯一的编号;

2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;

3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

2、因果图测试用例设计: 1)分析需求;

2) 分析软件规格说明描述中的语义,找出原因与结果之间, 原因与原因之间对应的关系,根据这些关系,画出因果图;

3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件;

4) 把因果图转换为判定表;

5) 把判定表的每一列拿出来作为依据,设计测试用例。

3、边界值测试用例设计:

边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。 1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围的边界的值作为测试输入数据;

2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据;

3)将规则1和2应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值;

4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素所谓测试用例;

5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例;

6) 分析规格说明,找出其它可能的边界条件。

2.2测试环境与配置

项目开发平台:java 平台

软件开发版本:Visual studio 2010

数据库服务网站支持:http://webservice.36wu.com/mapService.asmx

平U 2.3测试方法(和工具)

等价类划分:等价类划分就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,覆盖了更多的可能数据,以发现更多的软件缺陷。

边界值:边界值测试指的是人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

因果图:因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情

况。因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。

3测试结果及缺陷分析 3.1测试执行情况与记录 3.1.1测试组织

3.1.2测试时间

起始时间:2015年4月18日 结束时间:2015年4月30日

3.1.3测试结果记录

见测试用例及操作过程

3.2覆盖分析 3.2.1需求覆盖

需求覆盖率是指经过测试的需求/功能和需求规格说明书中所有需求/功能

N/A表示不可测试或者用例不适用。需求覆盖率计算:Y项/需求总数×100%=71%

3.2.2测试覆盖

3.3缺陷的统计与分析

缺陷统计主要涉及到被测系统的质量,因此,这部分成为开发人员、质量人员重点关注的部分。

3.3.1缺陷汇总

3.3.2缺陷分析

对上述缺陷和其他收集数据进行综合分析缺陷综合分析: 缺陷发现效率 = 缺陷总数/执行测试用时 用例质量

= 缺陷总数/测试用例总数 ×100%

缺陷密度 = 缺陷总数/功能点总数,统计系统各功能或各需求的缺陷分布 测试曲线图:描绘被测系统每工作日/周缺陷数情况,得出缺陷走势和趋向 重要缺陷摘要:

3.3.3残留缺陷与未解决问题

4 测试结论与建议 4.1测试结论

本次测试工作已基本结束,对软件的安全性、可靠性和功能性均做了测试。软件仍然存在一些基本功能上的缺陷,剩下部分报表的设计需要继续完善;应该对这些基础的功能缺陷进行改进之后再进行下一阶段项目目标。

4.2建议

本次测试由于主要是手工测试,因此未能实现对一些功能的进行大量数据操作的测试 ,但就目前完成的白盒测试与手工黑盒测试来看,本系统还存在着许多的问题:

1.软件存在很多基本错误,如,输入或操作错误时不会出现错误提示或警告,仅仅做出页面无响应的处理,缺少人性化,普通用户难以理解。

2.当修改密码或信息时并没有没有提示信息,只是做出返回上一页或停留在原网页的反应,这一点使得用户不知道自己修改成功与否,还需自己去尝试二次输入,对此系统技术人员应考虑完善增添部分提示功能。

3.代码兼容性差,导致不同浏览器或系统下部分页面之间的跳转混乱,需要改进。


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn