软件测试综合实训报告.docx
- 文档编号:23545847
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:41
- 大小:1.75MB
软件测试综合实训报告.docx
《软件测试综合实训报告.docx》由会员分享,可在线阅读,更多相关《软件测试综合实训报告.docx(41页珍藏版)》请在冰豆网上搜索。
软件测试综合实训报告
上海农林职业技术学院
软件测试综合实训
题目:
企业宣传网站
系别:
信息与计算机系
专业:
软件技术
班级:
软件092班
组员:
时间:
2011年10月20号
目录
1测试项目概述3
1.1准备3
1.2项目分工3
2系统需求4
3系统设计5
4系统实现7
5系统测试8
5.1手工测试9
5.2测试方案10
5.3web负载测试16
5.4常见bug整理17
6系统运行19
7小结25
8参考文献26
9实训总结28
企业宣传网站项目
1测试项目概述
企业宣传网站:
某电子商品销售公司为了提升企业形象和商品销售量,开发了一个公司形象宣传和商品介绍的网站。
基本功能如下:
1、站内新闻2、商品展示3、在线聊天4、留言簿5、后台管理
实现要求:
语言:
JSP,数据库:
SQLServer
网站首页:
商品展示 站内新闻 在线聊天 留言簿 后台管理
1.1准备
思想准备:
召开测试小组动员会
测试准备:
软件文档、测试计划、测试用例、测试项目时间阶段明细表等相关资料及软硬件配置。
个人准备:
明确个人分工各个功能块测试完成时间,安排好个人时间,记录每日小结。
组员之间做好沟通。
1.2项目分工
任慧如(组长)负责:
项目柜架的搭建、业务逻辑的设计
李雨龙(组员)负责:
数据库设计和数据访问层设计
洪宽(组员)负责:
前台页面设计、各模块页面展现的设计
2系统需求
计算机和处理器
处理器1GHz以上
操作系统
Microsoft®Windows®2000sp1或更高版本(建议使用Microsoft®Windows®xp)
内存
512MB以上
硬盘
安装需要100MB的硬盘空间,运行需要50MB空余空间
显示器
最小800x600(建议使用1024x768)屏幕分辨率
浏览器
您的计算机上应该安装了MicrosoftInternetExplorer6或更高版本,但是不一定要设置为默认浏览器。
Internet连接
互联网接入(宽带接入效果最佳,无线接入质量降低,模拟线路不建议使用)
3系统设计
3、1数据库设计
根据系统功能设计的要求及功能模块的划分,在数据库中创建了MESSAGE、NEWS、PRODUCT、REVERT、USERS这些表。
如表3.1所示:
数据库表
序号
数据库表
数据库表存储内容
1
MESSAGE
留言信息
2
NEWS
公告、新闻信息
3
PRODUCT
商品信息
4
REVERT
回复留言者信息
5
USERS
用户信息
3、2数据库表关系图
3、3数据字典
1)、网站留言信息(MESSAGE)
网站留言信息
字段名
字段类型
备注
messageID
int
非空,自动编号
title
varchar(50)
标题
content
varchar(500)
留言内容
writer
varchar(20)
留言者
writeDate
varchar(30)
留言日期
count
int
留言条数
2)网站新闻(NEWS)
网站新闻信息
字段名
字段类型
备注
newsID
int
非空,自动编号
title
varchar(50)
标题
content
varchar(400)
新闻内容
writeDate
varchar(25)
添加时间
3)商品信息(PRODUCT)
商品信息
字段名
字段类型
备注
productID
int
非空,自动编号
serialNumber
varchar(20)
系列编号
name
varchar(20)
商品名称
brand
varchar(20)
商品品牌
model
varchar(20)
商品型号
price
numeric(10,0)
商品价格
picture
varchar(20)
商品图片
description
varchar(800)
商品描述
4)留言信息(REVERT)
留言信息
字段名
字段类型
备注
revertID
int
非空,自动编号
messageID
int
留言ID
content
varchar(300)
留言内容
write
varchar(20)
留言者
writeDate
varchar(30)
留言时间
5)用户信息(USWES)
用户信息
字段名
字段类型
备注
userID
int
非空,自动编号
userName
int
用户姓名
password
varchar(300)
用户密码
status
varchar(20)
用户类别
3、4页面设计
3、4、1 首页
首先打开游览器,在地址栏上输入http:
//localhost/company/index.jsp
该模块的功能包括:
显示商品列表,包括每个商品的图片、产品名
称、产品品牌、产品型号、产品价格这些基本信息
4系统实现
本系统主要包括五大模块:
新闻模块、留言模块、商品模块、用户模块、网站信息模块。
5系统测试
步骤
【Step1】制定系统测试计划
系统测试小组各成员共同协商测试计划。
测试组长按照指定的模板起草《系统测试计划》。
该计划主要包括:
·测试范围(内容) ·测试方法 ·测试环境与辅助工具 ·测试完成准则 ·人员与任务表 项目经理审批《系统测试计划》。
该计划被批准后,转向【Step2】。
【Step2】设计系统测试用例 ·系统测试小组各成员依据《系统测试计划》和指定的模板,设计(撰写)《系统测试用例》。
·测试组长邀请开发人员和同行专家,对《系统测试用例》进行技术评审。
该测试用例通过技术评审后,转向【Step3】。
【Step3】执行系统测试 ·系统测试小组各成员依据《系统测试计划》和《系统测试用例》执行系统测试。
·将测试结果记录在《系统测试报告》中,用“缺陷管理工具”来管理所发现的缺陷,并及时通报给开发人员。
【Step4】缺陷管理与改错 ·从【Step1】至【Step3】,任何人发现软件系统中的缺陷时都必须使用指定的“缺陷管理工具”。
该工具将记录所有缺陷的状态信息,并可以自动产生《缺陷管理报告》。
·开发人员及时消除已经发现的缺陷。
·开发人员消除缺陷之后应当马上进行回归测试,以确保不会引入新的缺陷。
5.1手工测试
编号
调试错误和能够解决的问题描述
1
运行JSP文件时,出现404错误,知道检查URL是否正确
2
启动tomcat时,知道出现”Serverstartup….”字样时,tomcat已经启动完毕
3
运行JSP文件时,出现500错误,知道检查根据错误提示进入JSP的错误行
4
Tomcat启动后,如果运行http:
//localhost:
8080无法出现tomcat欢迎页,知道去tomcat的conf目录下的server.xml中查找正确的端口号
5
运行JSP文件时,如果IE提示“无法显示网页”,知道检查Tomcat是否已经启动
6
使用JDBC连接数据库时,出现ClassNotFoundException,知道检查数据库驱动包是否被正确加载入工程中
7
连接数据库时,提示无法连接到数据库,知道检查连接数据库的URL是否正确
8
运行JSP文件时,如果IE中出现404错误,应想到是否把文件拖入了WEB-INF文件夹中
9
运行Web项目时,出现500错误,知道检查web.xml文件是否存在。
10
使用JDBC连接数据库时,如果使用结果集没有取出数据,知道检查是否对结果集调用了next()方法。
11
使用JDBC连接数据库时,如果出现内存溢出,知道检查程序中是否正确关闭了Statement、连接等。
12
运行JSP文件时,页面文字出现中文乱码问题,知道在page指令中加入contentType=”text/html;charset=GBK”%>
13
运行JSP文件时,提交内容出现中文乱码问题,知道在接收提交内容前对字符串进行字符集的转换。
14
运行JSP文件时,图片无法正常显示,知道检查图片的访问路径。
15
运行JSP文件时,如果点击提交按钮后无法获得文本框中的数据,知道检查这些文本框和提交按钮是否在同一个表单中
16
运行JSP文件时,页面提交后如果获得的文本被截断,知道修改表单中的method属性为post。
17
如果在提交页面时,用户不填写任何信息,会在数据库中存储一些无用数据,此时,知道使用JavaScript进行非空验证。
18
运行JSP文件时,页面提交后使用request的getAttribute方法无法获得表单数据,知道使用request的getParameter方法。
19
使用Struts框架,运行程序时,报错:
Therequestedresource(Servletaction)isnotavailable.
知道检查web.xml文件中是否配置ActionServlet。
20
使用Struts框架,运行程序时,报错:
Therequestedresource(Servletaction)isnotavailable.
知道检查struts-config.xml文件,看是否配置了要访问的Action。
21
使用Struts框架,运行程序时,报错:
Therequestedresource(Servletaction)isnotavailable.
知道检查jsp文件form标记中action属性的路径名称是否与struts-config.xml文件中action标记的path属性的路径名称一致。
22
使用JDBC连接数据库时,不能执行查询,提示:
invalididentity。
知道检查列名是否与数据库中的列名相一致。
5.2测试方案
测试用例
系统模块
功能点
用例编号
用例说明
前置条件
输入
预期结果
测试结果
失败原因
2、用户管理
2、2删除用户
2.2.1
删除用户动作
系统管理员已登陆系统
点击“删除”按钮
将该用户删除
成功
系统模块
功能点
用例编号
用例
说明
前置条件
输入
预期结果
测试结果
失败
原因
3、新闻管理
3、1
添加新闻
3、1、1
新增新闻动作
系统管理员已登陆系统
系统管理员在新闻管理页面单击“添加新闻”按钮
成功进入“添加新闻”页面
成功
3、1、2
必填项
系统管理员已登陆系统,并进入“添加新闻”页面
令某项必填项为空,其它选项正常填写,(如新闻标题置空,提交)
提示,“请输入×××”,如(“请输入新闻标题”)
成功
3、1、3
数据有效性
系统管理员已登陆系统,并进入“添加新闻”页面
在文本框中输入无效数据,(如输入敏感数据,新闻标题“学潮运动”)
提示,“输入数据违法”
失败
输入违法数据,提交成功
3、1、4
全部置空
系统管理员已登陆系统,并进入“添加新闻”页面
令选项全部置空,(如新闻标题、新闻内容全部置空,提交)
提示,“请输入新闻标题”
成功
3、1、5
输入范围
系统管理员已登陆系统,并进入“添加新闻”页面
在文本框中输入长度为1000的文本提交,(如,在新闻标题文本框中输入长度为1000的文本)
输入框应该有输入范围限制,多出是“最大位数字”的部分应自动舍弃
失败
在文本框中输入长度为1000的文本,提交成功
系统模块
功能点
用例编号
用例说明
前置条件
输入
预期结果
测试结果
失败原因
3、新闻管理
3、2删除新闻
3.2.1
删除新闻动作
系统管理员已登陆系统
点击“删除”按钮
将该新闻删除
成功
系统模块
功能点
用例编号
用例
说明
前置条件
输入
预期结果
测试结果
失败
原因
4、商品管理
4、1
添加商品
4、1、1
新增商品动作
系统管理员已登陆系统
系统管理员在商品管理页面单击“添加商品”按钮
成功进入“添加商品”页面
成功
4、1、2
必填项
系统管理员已登陆系统,并进入“添加商品”页面
令某项必填项为空,其它选项正常填写,(如商品名称置空,提交)
提示,“请输入×××”,如(“请输入商品名称”)
成功
4、1、3
数据有效性
系统管理员已登陆系统,并进入“添加商品”页面
在文本框中输入无效数据,(如输入敏感数据,商品名称“学潮运动”)
提示,“输入数据违法”
失败
输入违法数据,提交成功
4、1、4
全部置空
系统管理员已登陆系统,并进入“添加商品”页面
令选项全部置空,(如商品编号、商品名称全部置空,提交)
提示,“请输入商品编号”
成功
4、1、5
输入范围
系统管理员已登陆系统,并进入“添加商品”页面
在文本框中输入长度为1000的文本提交,(如,在商品名称文本框中输入长度为1000的文本)
输入框应该有输入范围限制,多出是“最大位数字”的部分应自动舍弃
失败
在文本框中输入长度为1000的文本,提交成功
系统模块
功能点
用例编号
用例说明
前置条件
输入
预期结果
测试结果
失败原因
4、商品管理
4、2删除商品
4.2.1
删除商品动作
系统管理员已登陆系统
点击“删除”按钮
将该新闻删除
成功
系统模块
功能点
用例编号
用例
说明
前置条件
输入
预期结果
测试结果
失败
原因
4、商品管理
4、2
修改商品
4、2、1
修改商品动作
系统管理员已登陆系统
系统管理员在商品管理页面单击“管理商品”按钮
成功进入“管理商品”页面
成功
4、2、2
必填项
系统管理员已登陆系统,并进入“管理商品”页面
令某项必填项为空,其它选项正常填写,(如商品名称置空,提交)
提示,“请输入×××”,如(“请输入商品名称”)
成功
4、2、3
数据有效性
系统管理员已登陆系统,并进入“管理商品”页面
在文本框中输入无效数据,(如输入敏感数据,商品名称“学潮运动”)
提示,“输入数据违法”
失败
输入违法数据,提交成功
4、2、4
全部置空
系统管理员已登陆系统,并进入“管理商品”页面
令选项全部置空,(如商品编号、商品名称全部置空,提交)
提示,“请输入商品编号”
成功
4、1、5
输入范围
系统管理员已登陆系统,并进入“管理商品”页面
在文本框中输入长度为1000的文本提交,(如,在商品名称文本框中输入长度为1000的文本)
输入框应该有输入范围限制,多出是“最大位数字”的部分应自动舍弃
失败
在文本框中输入长度为1000的文本,提交成功
5.3web负载测试
在运行用例时,可以通过过滤标签的属性来运行。
其方法如下:
步骤一:
为每个测试用例设置测试分类属性(TestCategory),在方法的属性中增加。
[TestCategory("Nightly"),TestCategory("Weekly"),TestMethod()]
publicvoidTestMethod1()
{
//
//TODO:
Addtestlogichere
//
}
步骤二:
通过测试分类,运行测试用例
1)从UI中,选择测试用例运行
2)通过命令行运行
mstest/testcontainer:
MyTestprojectName.dll/category:
"Nightly&Weekly"
在条件选择时候,可以使用&或则|作为操作条件.
决方案里面,我们有以下一些重要的文件和项目:
1)应用程序项目(被测试的应用,开发人员负责)
2)测试项目(测试人员负责)
包括以下内容:
a)用例运行前后执行的脚本
b)是否启用数据分析(代码覆盖率,测试影响分析,模拟网络,录制视频,智能跟踪等等)
c)运行机器是本机还是远程机器
d)测试超时时间运行测试等
5.4常见bug整理
6系统运行
网站首页:
商品展示:
站内新闻:
在线聊天:
留言簿:
后台管理:
7小结
项目框架搭建:
项目名称:
company
各级包的命名:
s2jsp.bysj下创建包dao和entity
WebRoot下文件夹命名:
\(根目录)
admin(后台管理文件夹)
chat(在线聊天文件夹)
image(图片文件夹)
css(样式表文件夹)
公共类的创建:
BaseDao.java:
获取数据库连接对象方法:
getConn(),并返回Connection对象
数据库操作方法(增、删、改):
executeSQL()
关闭结果集、声明和连接的方法:
closeAll()
项目准备阶段
数据库、数据表的创建
数据库:
company
数据表:
RPODUCT、NEWS
创建实体类:
Product.java、news.java
完成top.jsp页面
数据库、数据表的创建
数据库:
company
数据表:
MESSAGE、REVERT
创建实体类:
Message.java、Revert.java
完成根目录下left.jsp页面
项目准备阶段难点分析
公共类的实现:
execudeSQL()方法
SQL语句的参数设置
publicintexecuteSQL(StringpreparedSql,String[]param){
try{
conn=getConn();//得到数据库连接对象
pstmt=conn.prepareStatement(preparedSql);
if(param!
=null){
for(inti=0;i pstmt.setString(i+1,param[i]); } } pstmt.executeUpdate();//执行SQL语句 }catch(Exceptione){e.printStackTrace();//处理异常 }finally{closeAll(conn,pstmt,null);//释放资源} returnnum; } 8参考文献 1.21天学通Java2(第3版)(专业参考版)》 原书名: TeachYourselfJava2in21days,ProfessionalReferenceEdition,ThirdEdition 作者: [美]RogersCadenhead,LauraLemay 2.《Java编程思想》、《AgileJava》中文版 3.《重构改善既有代码的设计》、《测试驱动开发byExample》 4.《ExpertOne-on-OneJ2EEDesignandDevelopment》 《ExpertOne-on-OneJ2EEDevelopmentwithoutEJB》 5.《企业应用架构模式》、《敏捷软件开发原则、模式与实践》 6.《解析极限编程拥抱变化》《统一软件开发过程》和《敏捷建模》 7.《快速软件开发》 8.JSP设计(第三版)原书名: JavaServerPages,ThirdEdition 原出版社: O'Reilly 作者: HansBergsten[作译者介绍] 译者: 林琪朱涛江 丛书名: O'REILLY系列 出版社: 中国电力出版社 9.《javaservlet&jsp经典实例》 《JSP数据库开发实例精粹》 《使用JSP建设动态网站教程》 《JSP程序设计实务》 10《SQL语言与数据库操作技术大全》 《24小时sql2005教程》(SQLServer2005Expressin24Hours) 《SQLServer2005盛宴系列课程》 《零基础学SQLServer2005》 9实训总结 一.技术总结 第一次集中编码: 难点分析(2-1) Usersuser=userDao.findUsers(userName,password); if(user! =null){ ListuserList=(List)application.getAttribute("users"); if(userList==null||userList.size()==0){ userList=newArrayList(); userList.add(userName); }else{ booleanbool=true; for(inti=0;i if(userName.equals(userList.get(i).toString())){ bool=false; break; } } if(bool)userList.add(userName); } session.setAttribute("user",user); application.setAttribute("users",userList); … } •超链接传递数据: –新闻列表新闻ID新闻内容 –商品列表商品ID商品信息 newsID=<%=news.getNewsID()%>"> <%=news.getTitle()%> … 售后服务: 页面设计 数据的显示 第二次集中编码: 难点分析 •显示聊天信息页面的实现: <% request.setCharacterEncoding("gbk"); ListmessageList=(List)application.getAttribute("messageList"); Stringmessage=request.getParameter
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 综合 报告