《软件测试技术》测试分析报告.docx
《《软件测试技术》测试分析报告.docx》由会员分享,可在线阅读,更多相关《《软件测试技术》测试分析报告.docx(24页珍藏版)》请在冰豆网上搜索。
《软件测试技术》测试分析报告
北方民族大学
课程设计报告
系(部、中心)计算机科学与工程学院
姓名李榜明学号2012
专业软件工程 班级三
同组人员
课程名称软件测试技术
设计题目名称《网上书店系统测试分析报告》
起止时间2015年4月—2014年5月
成绩
指导教师签名任荣
北方民族大学教务处制
1.引言
1.1《测试分析报告》编写目的
为了发现和报告网上书店统系统图书管理模块的错误和缺陷。
通过测试,确保本系统的功能、互操作性等符合软件的设计要求,满足用户的使用要求。
通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便对系统进行进行升级时进行改进。
1.2参考资料
表1-1:
参考资料列表
参考资料
是否可用
备注
需求规格说明书
是
无
系统设计说明书
是
无
系统原型
是
无
系统源码
是
无
用户使用手册
无
无
测试计划
是
无
2.静态测试错误报告
2.1测试对象及参考规范
测试对象:
系统分析设计说明书和图书管理模块功能代码
参考规范:
《软件编程规范》作者:
徐人凤孙宏伟王梅
测试对象为图书模块。
功能模块代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Data.SqlClient;
usingSystem.Data;
publicclassbooks
{
//定义ADO.net对象
SqlConnectionmycon=newSqlConnection();
SqlDataAdaptermyadpt=newSqlDataAdapter();
DataSetmyds=newDataSet();
publicobjectds;
//属性
publicintbooksId{get;set;}
publicstringbooksName{get;set;}
publicstringbooksIntro{get;set;}
publicfloatbookPrice{get;set;}
publicintbooksNum{get;set;}
publicstringpublisher{get;set;}
publicstringphoto{get;set;}
publicstringtype{get;set;}
//字段
publicstringsqlstr;
publicstring[]bookinfo;
//连接服务器,数据库
publicvoidconn()
{
mycon.ConnectionString="DataSource=QH-20141121JQID;InitialCatalog=bookstore;userID=lbm;password=921210";
}
//后台方法
//查询图书
publicvoidselectbook(stringbookid)
{
sqlstr="selecttop1*frombookswherebooksId='"+bookid+"'";
myadpt.SelectCommand=newSqlCommand(sqlstr,mycon);
myds.Clear();
myadpt.Fill(myds);
booksId=int.Parse(myds.Tables[0].Rows[0].ItemArray.GetValue(0).ToString());
booksName=myds.Tables[0].Rows[0].ItemArray.GetValue
(1).ToString();
booksIntro=myds.Tables[0].Rows[0].ItemArray.GetValue
(2).ToString();
bookPrice=float.Parse(myds.Tables[0].Rows[0].ItemArray.GetValue(3).ToString());
booksNum=int.Parse(myds.Tables[0].Rows[0].ItemArray.GetValue(4).ToString());
publisher=myds.Tables[0].Rows[0].ItemArray.GetValue(5).ToString();
photo=myds.Tables[0].Rows[0].ItemArray.GetValue(6).ToString();
type=myds.Tables[0].Rows[0].ItemArray.GetValue(7).ToString();
}
//添加图书
publicvoidaddbook()
{
sqlstr="insertintobooks(booksId,booksName,booksIntro,booksPrice,booksNum,publisher,photo,bookstype)values('"+booksId+"','"+booksName+"','"
+booksIntro+"','"+bookPrice+"','"+booksNum+"','"+publisher+"','"+photo+"','"+type+"')";;
myadpt.SelectCommand=newSqlCommand(sqlstr,mycon);
myds.Clear();
myadpt.Fill(myds);
}
//删除图书
publicvoiddeletebook(stringbooksid)
{
sqlstr="deletefrombookswherebooksId='"+booksid+"'";
myadpt.SelectCommand=newSqlCommand(sqlstr,mycon);
myds.Clear();
myadpt.Fill(myds);
}
//修改图书
publicvoidupdatebook(stringbooksid)
{
sqlstr="updatebookssetbooksId='"+booksId+"',booksName='"+booksName+"',booksIntro='"+booksIntro+"',booksPrice='"+bookPrice+"',booksNum='"+booksNum+"',publisher='"+publisher+"',bookstype='"+type+"'wherebooksId='"+booksid+"'";
myadpt.SelectCommand=newSqlCommand(sqlstr,mycon);
myds.Clear();
myadpt.Fill(myds);
}
//浏览图书
publicvoidbrowsebook()
{
sqlstr="select*frombooks";
myadpt.SelectCommand=newSqlCommand(sqlstr,mycon);
myds.Clear();
myadpt.Fill(myds);
ds=myds.Tables[0];
}
}
//图书管理—删除图书
protectedvoidButton3_Click(objectsender,EventArgse)
{
GridView1.Visible=false;
book.conn();
intbookid=0;
Booleanf=false;
if(TextBox1.Text=="")
{
Label1.Text="图书编号不能空!
";
}
else
{
bookid=int.Parse(TextBox1.Text);
if(bookid<0||bookid>1000)
{
Label1.Text="图书编号的不会是负数或者四位数!
";
}
else
{
try
{
book.deletebook(bookid);
f=true;
}
catch
{
f=false;
}
}
}
if(f==true)
{
Label2.Text="删¦除成功|";
}
else
{
Label2.Text="删¦除失败,没有此书";
}
}
2.2静态测试缺陷报告
表2-1静态测试缺陷报告1
缺陷记录编号
ST_Bug_1
测试项目
系统分析与设计说明书
测试人员
李榜明
测试日期
2015.4.11
优先级
中
缺陷解决人
陈勇
缺陷描述
一级目录的字体比二级目录的字体小
附件(缺陷截图)
缺陷解决人
陈勇
缺陷解决验证人
李榜明
解决日期
2015.4.11
验证日期
2015.4.11
缺陷是否解决
是
验证是否通过
是
备注
静态测试
表2-2静态测试缺陷报告2
缺陷记录编号
ST_Bug_2
测试项目
系统分析与设计说明书
测试人员
李榜明
测试日期
2015.4.11
优先级
低
缺陷解决人
陈勇
缺陷描述
页码在更新之后,第一页的页码没有,页码的
附件(缺陷截图)
缺陷解决人
陈勇
缺陷解决验证人
李榜明
解决日期
2015.4.11
验证日期
2015.4.11
缺陷是否解决
是
验证是否通过
未
备注
静态测试
表2-3静态测试缺陷报告3
缺陷记录编号
ST_Bug_3
测试项目
系统分析与设计说明书
测试人员
李榜明
测试日期
2015.4.11
优先级
高
缺陷解决人
陈勇
缺陷描述
管理员用例图中,图书管理用例下的浏览和查询用例应该只出现一个
附件(缺陷截图)
缺陷解决人
陈勇
缺陷解决验证人
陈勇
解决日期
2015.4.11
验证日期
2015.4.11
缺陷是否解决
未
验证是否通过
未
备注
静态测试
表2-4静态测试缺陷报告4
缺陷记录编号
ST_Bug_4
测试项目
系统分析与设计说明书
测试人员
李榜明
测试日期
2015.4.11
优先级
高
缺陷解决人
陈勇
缺陷描述
在UML数据建模中,购物车跟图书应该只是一个引用的关系,可以用数组去实现,而不应该存在一对多的关系。
如果你把图书加到购物车中,你要删除或者减少数量,则是直接对数据库中的图书操作,并且图书不是属于某个购物车的,相当于一个购物车只能装一种图书,显然不合理
附件(缺陷截图)
缺陷解决人
陈勇
缺陷解决验证人
解决日期
2015.4.11
验证日期
2015.4.11
缺陷是否解决
否
验证是否通过
否
备注
静态测试
表2-5静态测试缺陷报告5
缺陷记录编号
ST_Bug_5
测试项目
图书管理模块代码
测试人员
李榜明
测试日期
2015.4.11
优先级
高
缺陷解决人
陈勇
缺陷描述
查询图书的参数应该是一个整型的变量
附件(缺陷截图)
缺陷解决人
陈勇
缺陷解决验证人
陈勇
解决日期
2015.4.11
验证日期
2015.4.11
缺陷是否解决
未
验证是否通过
未
备注
静态测试
3.测试用例
3.1单元测试用例设计
(1)、白盒测试用例设计
1)程序流程图
4
6
1
图3-1图书管理—删除图书程序流程图
2)白盒测试用例
表3-1图书管理--删除图书白盒测试:
(测试用例编号:
TUC_1)
测试用例项(输入)
覆盖路径
覆盖条件
覆盖条件组合
预期输出
实际输出
TextBox1.Text=””
覆盖路径:
1-6-4
覆盖条件:
T1
Label1.Text=“图书编号不能为空”
Label2.Text="删¦除失败,没有此书"
Label1.Text=“图书编号不能为空”
Label2.Text="删¦除失败,没有此书"
TextBox1.Text=”-1”
覆盖路径:
1-2-4
覆盖条件:
F1,T2
Label1.Text="图书编号的不会是负数或者四位数!
"
Label2.Text="删¦除失败,没有此书"
Label1.Text="图书编号的不会是负数或者四位数!
"
Label2.Text="删¦除失败,没有此书"
TextBox1.Text=”2”
覆盖路径
1-3-4
覆盖条件
F1,F2,F3
Label2.Text="删¦除成功|"
.
Label2.Text="删¦除成功|"
TextBox1.Text=”hjhjg”
覆盖条件
F1
Label2.Text="删¦除失败,没有此书"
出现FormatExceptionwasunhandled
Byusercode异常
TextBox1.Text=”25”
覆盖路径
:
1-3-5
覆盖条件
F1,F2,T3
Label2.Text="删¦除失败,没有此书"
Label2.Text="删¦除失败,没有此书"
(2)、黑盒测试用例设计
1)等价类/边界值测试用例
表3-2:
等价类/边界值用例表:
测试用例编号
TUC_2
测试项目
图书管理模块—删除图书
重要级别
高
测试人员
李榜明
测试日期
2015.4.24
功能描述
输入图书编号,在数据库中把此编号的图书删去
前提条件
测试项编号
输入
等价类/边界值
预期的输出
1
Textbox=”25”
有效等价类1/正常值
Label2.Text=”删除成功”
2
Textbox=”1001”
无效等价类1/上边界+1
Label2.Text=”没有找到此书,删除失败”
3
Textbox=”-1”
无效等价类2/下边界值-1
Label2.Text=”没有找到此书,删除失败”
4
Textbox=”#¥#¥#”
无效等价类3/特殊字符
Label2.Text=”没有找到此书,删除失败”
5
Textbox=”ased”
无效等价类4/纯字符
Label2.Text=”没有找到此书,删除失败”
6
Textbox=”ss123”
无效等价类5/字母数字组合
Label2.Text=”没有找到此书,删除失败”
7
Textbox=”0”
无效等价类5/下边界值
Label2.Text=”没有找到此书,删除失败”
备注
图3-2等价类/边界值TP截屏
2)、网上书店后台登陆因果图法
图3-3网上书店后台登陆因果图TP截屏
图3-4网上书店后台登陆因果图法判定表TP截屏
图3-5网上书店后台登陆因果图法测试用例TP截屏
3.2集成测试用例设计
图3-6网上书店后台登陆集成测试用例TP截屏
3.3系统测试用例设计
图3-6系统测试用例TP截屏
4.缺陷报告
(1)、单元测试缺陷报告
表4-1:
白盒测试缺陷报告1
缺陷记录编号
SUC_1_Bug_1
测试项目
删除图书
测试人员
李榜明
测试日期
2015.5.4
优先级
中
缺陷解决人
陈勇
缺陷描述
当输入TextBox1.Text=”hjhjg”时,Label2.Text="删¦除失败,没有此书",而不是报错。
附件(缺陷截图)
缺陷解决人
陈勇
缺陷解决验证人
李榜明
解决日期
2015.5.5
验证日期
2015.5.5
缺陷是否解决
是
验证是否通过
是
备注
静态测试
表4-2:
白盒测试缺陷报告2
缺陷记录编号
SUC_1_Bug_2
测试项目
删除图书
测试人员
李榜明
测试日期
2015.5.6
优先级
中
缺陷解决人
陈勇
缺陷描述
由于数据库中有编号为2这本书,所以输入TextBox1.Text=”2”正常值,先通过查询看是否有此书时,有的再删除。
此时发现查询到了此书,并且可以删除,但是图片显示不了
附件(缺陷截图)
缺陷解决人
陈勇
缺陷解决验证人
李榜明
解决日期
2015.5.6
验证日期
2015.5.6
缺陷是否解决
是
验证是否通过
是
备注
白盒测试
表4-3:
黑盒测试缺陷报告1
缺陷记录编号
SUC_2Bug_1
测试项目
删除图书
测试人员
李榜明
测试日期
2015.5.6
优先级
中
缺陷解决人
陈勇
缺陷描述
当输入Textbox=”25”这一有效等价类时,Label2.Text=”删除成功”,实际上不应该是这个结果,因为数据库中没有这本书。
附件(缺陷截图)
缺陷解决人
陈勇
缺陷解决验证人
李榜明
解决日期
2015.5.6
验证日期
2015.5.6
缺陷是否解决
是
验证是否通过
是
备注
黑盒测试
表4-4:
黑盒测试缺陷报告2
缺陷记录编号
SUC_2Bug_1
测试项目
删除图书
测试人员
李榜明
测试日期
2015.5.6
优先级
中
缺陷解决人
陈勇
缺陷描述
当输入Textbox=”0”这一无效等价类(下边界值)时,Label1.Text=”图书编号的不会是负数或者四位数!
”,Label2.Text=”删除失败”,理论上Label2.Text=”没有找到此书,删除失败”。
附件(缺陷截图)
缺陷解决人
陈勇
缺陷解决验证人
李榜明
解决日期
2015.5.6
验证日期
2015.5.6
缺陷是否解决
是
验证是否通过
是
备注
黑盒测试
(2)、集成测试缺陷报告
图4-1集成测试缺陷报告1TP截屏
图4-2集成测试缺陷报告2TP截屏
5.测试总结
5.1测试覆盖率
5.2.1源代码测试覆盖率
源代码测试覆盖率为85%
5.2.2需求测试覆盖率
需求测试覆盖率为90%
5.2测试统计表
表5-1:
测试统计表
测试系统名称
网上书店系统
测试用例
统计结果
(数量)
通过
6
不通过
2
总计
8
缺陷统计
结果(数量)
致命缺陷
1
数据定义缺陷
1
功能缺陷
2
需求缺陷
0
界面问题
0
设计缺陷
5
程序逻辑缺陷
1
性能缺陷
1
缺陷总计数量
11
5.3测试统计图
图5-1网上书店系统测试统计图
参考文献
[1][德]Spillner,Linz,[挪]Schaefer著,刘琴等译,《软件测试基础(第2版)》,人民邮电出版社,2009年4月
[2]朱少民,《软件测试方法和技术》,清华大学出版社,2005年7月
[3]教育部考试中心/教育部考试中心,《全国计算机等级考试四级教程--软件测试工程师(2008年版)》,高等教育出版社,2007年9月
[4]赵斌,《软件测试技术经典教程(第二版)》,科学出版社,2011年3月
[5][美]PaulC.Jorgensen,《软件测试(原书第2版)》,机械工业出版社,2007年4月