万年历软件测试方案.docx
- 文档编号:16273674
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:35
- 大小:88.47KB
万年历软件测试方案.docx
《万年历软件测试方案.docx》由会员分享,可在线阅读,更多相关《万年历软件测试方案.docx(35页珍藏版)》请在冰点文库上搜索。
万年历软件测试方案
项目名称:
中华万年历
软件测试方案
班级:
软件12
日期:
2014年12月1日
项目组成员:
组长:
班级学号:
11姓名:
张亚亭
负责工作:
单元测试
小组成员:
1.班级学号:
16姓名:
王晓武
负责工作:
系统测试
2.班级学号:
17姓名:
王欢欢
负责工作:
验收测试
3.班级学号:
18姓名:
李本帅
负责工作:
验收测试
4.班级学号:
19姓名:
邓茂记
负责工作:
撰写万年历软件分析质量报告
5.班级学号:
10姓名:
薛磊
负责工作:
撰写万年历软件测试方案
6.班级学号:
12姓名:
唐明旭
负责工作:
集成测试
7..班级学号:
13姓名:
晏智
负责工作:
集成测试
2.5.1JUnit单元试............................................................................7
2.6.1集成测试概要.........................................................................................7
2.7.1系统测试概要.........................................................................................9
5心得体会............................................................................................................17
6实验代码.............................................................................................................17
1引言
1.1编写目的
本测试报告为万年历系统项目的测试报告,目的在于测试总结以及分析测试结果,描述系统是否符合需求。
预期参考人员包括用户、测试人员、开发人员。
伴随着人民日益繁忙的工作学习,电子万年历应运而生,它不仅可以随时随地的查询日历,而且可以记录当天的自己想记录的文档,方便快捷。
它整合每一年的日历,包括瑞年和平年,让用户随时随地的可以方便的查知日期记录行踪规划。
1.2项目背景
目前人民的生活节奏越来越快,对随时随地的查知日期,规划行程显得尤为重要,因此万年历应运而生,针对各类大型的随时查询系统,一款小巧的日历查询工具也是一个不错的选择。
既方便查询而且可以做记录。
因此,我们觉得开发这个万年历也是十分必要的。
1.3用户群
适用于普遍的大众人群。
1.4基本定义
五类测试错误类型。
A类:
严重错误,包括以下各种错误:
⏹由于程序所引起的死机,非法退出
⏹死循环
⏹因错误操作导致的程序中断
⏹功能错误
⏹数据通讯错误
B类:
较严重错误,包括以下各种错误:
⏹程序错误
⏹程序接口错误
C类:
一般性错误,包括以下各种错误:
⏹操作界面错误(包括数据窗口内列名定义、含义是否一致)
⏹打印内容、格式错误
⏹删除操作未给出提示
⏹与日常生活不符
D类:
较小错误,包括以下各种错误:
⏹界面不规范
⏹辅助说明描述不清楚
⏹错误操作未给用户提示
⏹提示窗口文字未采用行业术语
1.5参考资料
[1]《JAVA编程思想》,机械工业出版社,2007
[2]《JAVA经典实例》,中国电力出版社,2009
[3]《软件测试方法和技术(第二版)》,清华大学出版社
2测试概要
测试目的:
在于为执行测试提供用例,指导测试的实施,查找分析缺陷,评估测试质量并执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
测试声明:
测试人员在软件开发过程中的任务:
1、寻找Bug;
2、软件各种属性的组合程度良好;
2、避免软件开发过程中的缺陷;
3、衡量软件的品质;
4、关注用户的需求。
2.1测试环境
2.1.1软件硬件配置
环境
EclipseJre
硬件配置
CPU:
CPU奔腾Ⅲ以上
内存:
512M以上
硬盘:
500G或以上
软件配置
Jdk
ApacheTomcat7.0
表2-1配置表
2.1.1运行界面
运行界面如下:
图2-1万年历运行结果
2.2测试计划
测试阶段
计划开始时间
实际开始时间
计划结束时间
需求审查
11-20
11-21
11-22
设计审查
11-22
11-22
11-24
单元测试
11-24
11-24
11-30
集成测试
12-1
12-1
12-6
系统测试
12-6
12-6
12-7
验收测试
12-8
12-8
12-8
表2-2测试计划
2.3测试执行
此次测试严格按项目测试计划执行,按时完成了测试计划规定的测试对象的测试。
针对测试计划规定的测试策略,在测试执行中都有实现,在测试执行过程中,依据测试计划和测试用例,对系统进行了完整的测试。
2.4测试用例
1.万年历菜单栏功能测试:
主要测试菜单栏处还原、最小化、最大化以及关闭四个按钮能否正常实现其相应的功能。
2.万年历日期选择测试:
a、基本功能测试:
主要测试万年历日期选择中“上一年”、“下一年”、“上月”、“下月”以及年份选择文本框的功能能否正常实现,即做相应的操作后,在日历显示面板处显示相应的日历。
b、边界值测试:
主要测试年份在1000时点击上一年按钮能否提示错误信息或继续出现999年的日历、年份在9999时点击下一年按钮能否提示错误信息或继续出现10000年的日历、在年份文本框中输入不合法的年份能否提示错误信息、月份在1时点击上月能否显示上一年份12月的日历、月份在12时点击下月能否显示下一年份1月的日历。
c、等价类划分:
主要把年份划分为又四位数字构成,超过四位数字,数字和其他字符组成,四位数字又划分为第一个数字是否为1这几个等价类,然后分别找测试用例对其进行测试。
3、万年历日历显示面板测试:
主要测试日历显示是否正确,日期是否合法,以及单元格的变化测试。
4、万年历日志功能测试:
主要测试在日志编辑区日志的编辑功能、保存日志按钮与删除日志按钮功能的实现。
5、万年历其他功能及缺陷测试:
主要测试万年历界面左下方今日日期及时间显示的正确性、界面右上方最小化窗口按钮与关闭窗口按钮功能是否正确、以及界面空白区域是否会出现异常。
2.4.1功能性
A.可以任意查询年份月份,星期及天数。
B.在固定的那一天可以记录自己想记录的东西。
C.显示当前的系统时间。
2.4.2易用性
操作按钮提示信息正确性,一致性,可理解性。
限制条件提示信息正确性,一致性可理解性。
输入方式可理解性,可以很方便用户。
2.5单元测试
2.5.1JUnit单元测试
单元测试:
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。
它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。
一个软件单元的正确性是相对于该单元的规约而言的。
测试代码
JUnitTestCase测试结果图
2.5.2单元测试测试用例
输入
预期输出天数
实际结果
测试结果
年份
月份
2001
1
31
31
通过检验
2005
3
31
31
通过检验
2004
5
31
31
通过检验
2020
7
31
31
通过检验
1993
8
31
31
通过检验
1998
10
31
31
通过检验
1999
12
31
31
通过检验
2003
4
30
30
通过检验
2011
6
30
30
通过检验
1992
9
30
30
通过检验
1900
11
30
30
通过检验
2004
2
29
29
通过检验
2009
2
28
28
通过检验
2.5.3调试与评估
主要通过eclipse中的插件JUnite进行测试,右键Calender项目,NEW----other----JUniteTestCase----Package,name并选中setup和teardown----next----选中该项目中的类的方法进行模块测试,测试结果通过。
2.6集成测试
2.6.1集成测试概要
2.6.1.1集成测试定义
此阶段测试基于单元测试的完成。
主要目的检测系统是否达到需求对业务及数据流的处理是否符合标准,检测系统对业务流处理是否存在逻辑不严谨及错误检测需求是否存在不合理的标准及要求。
2.6.1.2集成测试实现
集成测试主要以黑盒测试为主,通过等价类划分和边界值法进行测试。
2.6.2测试用例
边界值测试:
主要测试年份在1000时点击上一年按钮能否提示错误信息或继续出现999年的日历、年份在9999时点击下一年按钮能否提示错误信息或继续出现10000年的日历、在年份文本框中输入不合法的年份能否提示错误信息、月份在1时点击上月能否显示上一年份12月的日历、月份在12时点击下月能否显示下一年份1月的日历。
测试方案如下:
测试编号
测试功能
输入
预期输出
实际输出
测试结果
1
上一年按钮
将年份改为1001,然后点击上一年
1000年的日历
1000年的日历
已通过
年份在1000时点击上一年
提示输入的年份有误
999年的日历
未通过
年份在999时点击上一年
提示输入的年份有误
提示输入的年份有误
未通过
2
下一年按钮
年份在9999时点击下一年
提示输入的年份有误
10000年的日历
未通过
年份在10000时点击下一年
提示输入的年份有误
提示输入的年份有误
已通过
年份在9998时点击下一年
9999年的日历
9999年的日历
已通过
3
上月按钮
月份在1月时点击上月
年份变为上一年,月份变为12
年份变为上一年,月份变为12
已通过
4
下月按钮
月份在12月时点击下月
年份变为下一年,月份变为1
年份变为下一年,月份变为1
已通过
5
年份文本框
键盘输入1000,回车键
1000年日历
1000年日历
已通过
键盘输入999,回车键
提示输入的年份有误
提示输入的年份有误
已通过
键盘输入0999,回车键
提示输入的年份有误
0999年的日历
未通过
键盘输入0099,回车键
提示输入的年份有误
0099年的日历
未通过
键盘输入0001,回车键
提示输入的年份有误
0001年的日历
未通过
键盘输入0000,回车键
提示输入的年份有误
0000年的日历
未通过
键盘输入000,回车键
提示输入的年份有误
提示输入的年份有误
已通过
键盘输入00,回车键
提示输入的年份有误
提示输入的年份有误
已通过
键盘输入0,回车键
提示输入的年份有误
提示输入的年份有误
已通过
键盘输入一位负数,回车键
提示输入的年份有误
提示输入的年份有误
已通过
键盘输入两位负数,回车键
提示输入的年份有误
提示输入的年份有误
已通过
键盘输入三位负数,回车键
提示输入的年份有误
未知年份的日历
未通过
键盘输入四位负数,回车键
提示输入的年份有误
提示输入的年份有误
已通过
键盘任意输入一位字符,回车键
提示输入的年份有误
提示输入的年份有误
已通过
键盘任意输入两位字符,回车键
提示输入的年份有误
提示输入的年份有误
已通过
键盘任意输入三位字符,回车键
提示输入的年份有误
提示输入的年份有误
已通过
键盘任意输入四位字符,回车键
提示输入的年份有误
提示输入的年份有误
已通过
2.7系统测试
2.7.1系统测试概要
2.7.1.1系统测试定义
用于核实用户与软件之间的交互。
系统测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。
2.7.1.2系统测试实现
主要通过功能测试实现。
2.7.2测试用例
基本功能测试
主要测试万年历中日期选择中上一年、下一年、上月、下月以及年份选择文本框的功能能否正常实现,即做相应的操作后,在日历显示面板处显示相应的日历。
测试方案如下:
测试编号
测试功能
输入
预期输出
实际输出
测试结果
1
上一年按钮
鼠标点击
上一年份当月日历
上一年份当月日历
已通过
2
下一年按钮
鼠标点击
下一年份当月日历
下一年份当月日历
已通过
3
上月按钮
鼠标点击
当年上一月日历
当年上一月日历
已通过
4
下月按钮
鼠标点击
当年下一月日历
当年下一月日历
已通过
5
年份文本框
键盘输入4位0到9的数字
相应四位数字的年份的日历
相应四位数字的年份的日历
已通过
2.8验收测试
2.8.1验收测试内容
(1)用户界面和可用性测试
(2)兼容性测试
2.8.2试测试用例
(1)用户界面和可用性测试
主要测试菜单栏处还原、最小化、最大化以及关闭四个按钮能否正常实现其相应的功能。
测试方案如下:
测试编号
测试功能
输入
预期输出
实际输出
结果
1
还原窗口
鼠标点击
窗口还原为默认大小
无效果
未通过
2
最小化窗口
鼠标点击
窗口最小化到任务栏
窗口最小化到任务栏
已通过
3
最大化窗口
鼠标点击
窗口最大化到整个屏幕
无效果
未通过
主要测试日历显示是否正确,日期是否合法,以及单元格变
化测试。
测试方案如下:
测试编号
测试功能
输入
预期输出
实际输出
测试结果
1
日历正确性
2014年12月
2014年12月的日历
2014年12月的日历
已通过
2015年1月
2015年1月的日历
2015年1月的日历
已通过
2
日期合法性
2012年2月
2012年2月29天
2012年2月29天
已通过
2014年2月
2014年2月28天
2014年2月28天
已通过
2014年12月
2014年12月31天
2014年12月31天
已通过
2014年11月
2014年11月30天
2014年11月30天
已通过
3
选择日期正确性
鼠标单击某一日期
在界面的右上角显示对应的日期
在界面的右上角显示对应的日期
已通过
鼠标单击空白格
在界面的右上角显示“没有选择日期”
在界面的右上角显示“没有选择日期”
已通过
鼠标双击某一日期
无任何效果
该单元格内容可修改
未通过
鼠标双击某一日期,将内容改为50
确定后单元格内日期恢复原来日期
在界面的右上角显示当年当月的50号
未通过
鼠标双击空白格
无任何效果
该单元格内容可修改
未通过
鼠标双击空白格,输入50
确定后单元格内50删除,单元格恢复为空
在界面的右上角显示当年当月的50号
未通过
4
单元格大小变化测试
鼠标拖动单元格的行分割线
单元格行宽度不变
单元格行宽度不变
已通过
鼠标拖动单元格的列分割线
单元格列宽度不变
单元格列宽度改变
未通过
万年历日志功能测试:
主要测试日志编辑区日志的编辑功能、保存日志按钮与删除日志按钮功能的实现。
测试方案如下:
测试编号
测试功能
输入
预期输出
实际输出
测试结果
1
日志的编辑功能
在编辑区输入一段文字
在编辑区显示出该段文字
在编辑区显示出该段文字
已通过
在编辑区输入一段文字后,退格键
在文字结尾处删除部分文字
在文字结尾处删除部分文字
已通过
在编辑区输入一段文字后,鼠标点击文字中间处,退格键
在文字中间处删除部分文字
在文字中间处删除部分文字
已通过
不输入任何文字,退格键
无任何效果
无任何效果
已通过
2
保存日志
选择日期,输入一段日志,单击保存日志
该日期的日志已保存
该日期的日志已保存
已通过
选中空白单元格,输入一段日志,单击保存日志
日志无法保存
日志无法保存
已通过
选择日期,不输入日志,单击保存日志
无任何效果
无任何效果
已通过
3
删除日志
选定一个已有日志的日期,单击删除日志
该日期的日志被删除
该日期的日志被删除
已通过
选定一个没有日志的日期,单击删除日志
没有找到日志文件
没有找到日志文件
已通过
选定一个空白单元格,单击删除日志
没有找到日志文件
没有找到日志文件
已通过
(2)兼容性测试
我们小组主要通过网上查找将Java代码通过export导出,转换成为jar包,再将jar包转换成.exe可运行文件形式。
再windows,linux等系统中运行,鉴于时间和运行环境问题只是转换成了.exe文件,在windows下有运行,却未在Linux系统中运行。
在jre虚拟机里运行,没有java虚拟机的平台不可以运行,一次编译,可在配置java虚拟机的平台上运行。
3测试结果
3.1bug性质及模块分布表
对被测软件的总体评估:
标识在测试中的缺陷、限制或约束,对软件和系统性能的影响,包括未得到满足的标识,推荐的更正方案或方法。
表2.1bug类型及数量
模块
Bug性质
A类
B类
C类
D类
总数
菜单功能栏
0
0
0
2
2
日期选择(边界值)
0
1
0
0
1
日历显示面板
0
0
2
0
2
日历日志功能
0
0
0
0
0
其他功能及缺陷测试
0
0
0
1
1
软件测试合格须符合以下标准:
表2.1测试合格标准
A类错误
B类错误
C类错误
D类错误
无
无
<1%
<5%
测试结果
Bug类型及数量
3.2改进建议
在整个系统测试执行期间,项目组开发人员能够提出的各种缺陷,在一定程度上较好地保证了测试执行的效率以及测试最终期限。
但是在整个软件测试活动中还是暴露了一些问题,如,测试执行时间相对较少,测试通过标准要求较低;细节性错误较多,测试时对管理平台不够熟悉,使用时效率偏低;测试时对系统了解不够透彻,测试执行时存在理解偏差,导致提交无效缺陷。
通小组的协力合作,万年历系统如期完成并达到交付标准。
建议:
需求提出方可以再使用该系统的基础上,继续搜集用户的使用需求反馈,并结合市场同类产品的优势,在今后的版本中不断补充并完善功能。
●在项目开始的时候应该制定编码标准,数据库标准,需求变更标准,开发和测试人员都严格按照标准进行,可以在后期减少因为开发,测试不一致而导致的问题,同时也可以降低沟通成本。
●发布版本的时候,正确布置测试环境,减少因为测试环境,测试数据库数据的问题而出现的无效bug。
●开发人员解决bug的时候,填写bug原因以及解决方式,方便bug的跟踪。
●开发人员在开发版本上发现bug,可以通知测试人员,因为开发人员发现的bug很有可能在测试版本上出现,而测试人员和开发人员的思路不同,有可能测试人员没有发现该bug,而且,这样可以保证发现的bug都能够被跟踪。
4测试结论
1.测试执行是否充分(可以增加对安全性、可靠性和功能性等描述)
2.对测试风险的控制措施和成效
3.测试目标是否完成
4.测试是否通过
4.1功能
系统正确的实现了用户对日期的查询及行程日期记录的需求,小巧便捷。
4.2易用性
现有系统实现了如下易用性:
1.输入方式可理解性
2.输入限制的正确性
3.操作按钮提示信息正确性,一致性,可理解性
4.输入限制提示信息的正确性,可理解性,一致性
5.日期查询的易用性
现有系统存在如下易用性缺陷:
1.界面排版不美观
2.输入缺少解释性说明
4.3可靠性
现有系统的可靠性控制不够严密,很多控制是通过用户输入,错误的输入有可能引起未知的错误,导致系统崩溃。
现有系统的容错性不高,如果系统出现错误,无返回值,系统易崩溃。
4.4安全性
由于未知的输入可能引起系统缓冲溢出,导致系统崩溃。
5心得体会
通过本次测试中华万年历系统项目,总结测试阶段的测试以及分析测试结果,基本预期完成了系统,软件测试的真正意义在于发现错误,而不在于验证软件是正确的,再严密的测试也不能完全发现软件当中的错误,要确保软件基本可用,要加强软件的响应的环节,还要增强软件的可移植性和兼容性,白盒测试来解决系统缓冲溢出,黑盒测试来解决用户交互的bug,从而全方面的提高系统的可用性,健壮性,安全性,稳定性,通过小组成员的通力合作,基本完成了软件功能,但是软件中还存在很多问题,需要进一步完善提高,比如java虚拟机的jre环境的打包自带,可以运行在不同平台上,增强可移植性。
以后多加完善系统,深刻理解软件测试的重要性,必要性。
6实验代码
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.;
importjava.io.;
importjava.io.;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.OutputStreamWriter;
//importjava.sql.Date;
importjava.text.DateFormat;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
importjavax.swing.JButton;
importjavax.swing.JDialog;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JScrollPane;
importjav
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 万年历 软件 测试 方案