编写该测试总结报告主要有以下几个目的
主要读者:XX项目管理人员,XX项目测试经理
其他读者:XX项目相关人员。
严重bug:出现以下缺陷,测试定义为严重bug
略
系统测试
Bugzilla缺陷管理系统
《XX需求和设计说明书》
《XX数据字典》
《XX后台管理系统测试计划》
《XX后台管理系统测试用例》
《XX项目计划》
XX后台管理系统测试从2007年7月2日开始到2007年8月10日结束,共持续39天,测试功能点174个,执行2385个测试用例,平均每个功能点执行测试用例13.7个,测试共发现427个bug,其中严重级别的bug68个,无效bug44个,平均每个测试功能点2.2个bug。
XX总共发布11个测试版本,其中B1—B5为计划内迭代开发版本(针对项目计划的基线标识),B6-B8为回归测试版本。计划内测试版本,B1—B4测试进度依照项目计划时间准时完成测试并提交报告,其中B4版本推迟一天发布版本,测试通过增加一个人日,准时完成测试。B5版本推迟发布2天,测试增加2个人日,准时完成测试。
B6-B11为计划外回归测试版本,测试增加5个工作人日的资源,准时完成测试。
XX测试通过Bugzilla缺陷管理工具进行缺陷跟踪管理,B1—B4测试阶段都有详细的bug分析表和阶段测试报告。
| 版本/时间 | 计划开始时间 | 实际开始时间 | 计划完成时间 | 实际完成时间 | 加班 | 增加资源 |
| B1 | 2007.7.2 | 2007.7.2 | 2007.7.5 | 2007.7.5 | 否 | 否 |
| B2 | 2007.7.16 | 2007.7.16 | 2007.7.19 | 2007.7.19 | 否 | 否 |
| B3 | 2007.7.23 | 2007.7.23 | 2007.7.25 | 2007.7.24 | 否 | 2个人日 |
| B4 | 2007.7.28 | 2007.7.29 | 2007.7.31 | 2007.7.31 | 1个人1天1个人2天 | 2个人日 |
| B5 | 2007.8.1 | 2007.8.2 | 2007.8.6 | 2007.8.3 | 否 | 2个人日 |
| B6 |
| 2007.8.4 |
| 2007.8.4 | 2个人1天 | 2个人日 |
| B7 |
| 2007.8.5 |
| 2007.8.5 | 1个人1天 | 1个人日 |
| B8 |
|
|
|
|
|
|
| B9 | 2007.8.9 | 2007.8.9 | 2007.8.10 | 2007.8.10 | 否 | 2个人日 |
| B10 |
|
|
|
|
|
|
| 合计 |
|
|
|
| 1个人6天 | 11个人日 |
此次测试严格按照项目计划和测试计划执行,按时完成了测试计划规定的测试对象的测试。针对测试计划规定的测试策略,在测试执行中都有体现,在测试执行过程中,依据测试计划和测试用例,对系统进行了完整的测试
系统实现的主要功能,包括查询,添加,修改,删除。
系统实现的次要功能,包括为用户分配酒店,为用户分配权限,渠道酒店绑定,渠道RATE绑定,权限控制菜单按钮。
需求规定的输入输出字段,以及需求规定的输入限制
操作按钮提示信息正确性,一致性,可理解性
限制条件提示信息正确性,一致性,可理解性
必填项标识
输入方式可理解性
中文界面下数据语言与界面语言的一致性
| 硬件环境 | 应用服务器 | 数据库服务器 | 客户端 |
| 硬件配置 | CPU:Intel(R) Celeron(R) CPU 2.40GHz stepping 01 Memory: 1048256k HD:ST380817AS 80G SATA | CPU:Intel(R) Celeron(R) CPU 2.40GHz stepping 01 Memory: 1048256k HD:ST380817AS 80G SATA | CPU:Intel(R) Celeron(R) CPU 2.40GHz stepping 01 Memory: 1048256k HD:ST380817AS 80G SATA |
| 软件配置 | OS:CentOS 4.2 JDK 1.5.0_06 Apache 2.2.0 Tomcat 5.5.15 | OS:CentOS 4.2 MySQL 5.0.17 Linux | Window 2000 Professional (SP2)IE6.0.2900.2180.xpsp_sp2 |
| 网络环境 | 10M LAN | 10M LAN | 10M LAN |

此次黑盒测试总共发布10个版本,V1.0.1-V1.0.5为计划内迭代开发版本(针对项目计划的基线标识),V1.1.1-V1.2.2为进行的回归测试版本,所有版本一共发现bug 1306个。bug版本趋势图如下图所示:

由Bug的版本分布图可以看出,V1.0.1-V1.0.5版本质量非常不稳定,bug数量最高达到189个,V1.0.1作为第一个版本bug数量为58个。在版本V1.0.3验证了前面发现的所有bug的基础上遗留bug数量在123个质量表现也不够稳定,在V1.1.1新增了批量制证、数据恢复、数据备份、数据清除等功能所以bug数目骤增为232个。随着版本的迭代在版本V1.2.2 bug数量逐渐将为0。

测试发现的bug主要集中在未完善功能级别major,属于一般性的功能缺陷,但是测试的时候,出现了163个涉及到程序崩溃、程序启动不了、不能完成正常制证、不能完成正常印刷等严重级别的bug,出现严重级别的bug主要表现在以下几个方面:

系统的问题类型主要分布于测试过程和维护过程发现影响系统运行的缺陷bug和对现有系统功能的改进improvement。Bug占所有问题类型的百分比为:97%,improvement占所有问题类型的百分比为:3%。图上结果说明系统在需求采集、程序设计工作过程中考虑十分全面极少存在功能设计遗漏问题。

由上图可以看出,bug主要分布模块是CerDesk印刷端(405个)和CerDesk制证端(534个)两个工作台,占到了全部bug的2/3以上。而CerWeb服务器端(260个)的bug分布相对来说比较少占总体百分比为7%。CerDesk运维端(107个)的bug量最少主要原因是功能比较简单。
软件测试全栈专题系列课程
https://edu.csdn.net/combo/detail/2221Jmeter高级性能测试实战
https://edu.csdn.net/course/detail/35834RobotFramework+Jmeter接口自动化测试课程
https://edu.csdn.net/course/detail/36152Fiddler接口抓包神器使用教程
https://edu.csdn.net/course/detail/32782零基础新手入门软件测试必知必会
https://edu.csdn.net/course/detail/32598

由上图可以看出,在统计的十个周bug提交和解决状况比较理想,当前提交的bug都能够在很快的时间得到修复,并且随着版本的稳定解决bug数量为全部解决新增bug数量逐渐降为0,整个过程属于正常的软件版本迭代过程。

由bug状态图可以看出,打开的bug有0个,重新打开的bug有0个。已解决bug有2个,主要是版本V1.2.2中提交的界面易用性bug,而其他的1304个都是已验证修复并关闭的bug。系统整体的遗留bug数量达到测试结束标准。
系统正确实现了通过数据字典管理基础数据的功能,实现了数据内容的多语言功能,实现了中英文界面。实现了基础数据管理,酒店集团管理,酒店基础信息管理,渠道管理,代理管理,用户管理的查询,添加,修改,删除的功能,系统还实现了将权限控制细化到菜单按钮的功能。
系统在实现用户管理下的权限管理功能时,存在重大的缺陷,权限控制不严密,权限设计有遗漏。
现有系统实现了如下易用性:
现有系统存在如下易用性缺陷:
现有系统的可靠性控制不够严密,很多控制是通过页面控制实现的,如果页面控制失效,可以向数据库插入数据,引发错误。
现有系统的容错性不高,如果系统出现错误,返回错误类型为找不到页面错误,无法回复到出错前的状态
现有系统支持window下的IE浏览器和傲游浏览器,支持linux系统下的IE浏览器和火狐浏览器。
现有系统未进行其他兼容性测试
现有系统控制了以下安全性问题:
现有系统未控制以下安全性问题:
此次测试,所有测试用例都是在中文界面下执行,未在英文界面下执行,测试不包括英文界面下的测试,也不包括正对英文翻译的测试。
此次测试,部分页面需求描述无明确的定义,对输入限制无详细定义,无明确的测试依据,在测试过程中,测试是根据输入字段含义,测试人员理解,以及和项目经理,开发人员沟通获得测试依据,无法保证测试依据的正确性和完整性,因此,没有进行完整的,正确的无效数据的测试,测试覆盖率不够,无法保证测试的有效性和正确性
下面为此次测试测试用例覆盖率分析图:
1. 缺陷描述:酒店娱乐项添加页面, “距离”字段无单位,建议增加单位
缺陷影响:距离字段无单位说明,无衡量标准,用户易用性不好
推迟原因:需求定义无单位定义,统一在升级版本中解决
2. 缺陷描述:酒店基础信息管理模块,默认语言设置不一致。用中文查询酒店,进入酒店基础信息模块后,如下模块,语言显示为“请选择”
| 列表页面 | 添加页面 |
| 取消政策 | 停留政策 |
|
| 担保政策 |
|
| 机场 |
|
| 参照点 |
|
| 会议室详情 |
|
| 打包促销 |
|
| 服务 |
|
| Rate |
而其他模块语言显示“中文语言”
缺陷影响:相同功能模块默认语言设置不一致,一致性不好
推迟原因:默认语言设置,目前无统一标准,升级版本中统一
3. 缺陷描述:tomcat日志有乱码,日志无项目名称,查看不方便
缺陷影响:其他项目日志都有项目名称,日志无项目名称,查看不方便
推迟原因:目前的日志为了调试方便,显示了很多其它信息,在项目正式发布时会统一处理的。
4. 缺陷描述:取消政策管理要么,取消时间“天/小时”缺少单位补充字段
缺陷影响:该处因为是两个不同的单位时间,需要有另外一个单位补充字段补充所所填写内容的单位
推迟原因:该缺陷单位补充字段本来存在,翻译不够准确,不能理解为补充单位的字段,需要等翻译完毕后再确认。
5. 缺陷描述:数据字典种类修改,默认值设置后,在调用该数据字典种类的数据字典,默认值无显示
缺陷影响:数据字典种类的默认值设置后,不能显示设置的默认值,相当于数据字典种类默认值设置功能未实现
推迟原因:该功能暂时不好实现,需要和和系统的默认语种一起处理。
6. 缺陷描述:担保政策管理页面,“Edposit Due”缺少解释行输入描述信息
缺陷影响:缺少解释性输入描述信息,用户不理解应该输入什么内容
推迟原因:需求没有描述,需要解释性说明文字由项目经理整理后,在升级版本中添加
7. 缺陷描述:多媒体添加,文件上传功能未实现
缺陷影响:文件上传功能未实现
推迟原因:该功能暂时不好完成,在下个版本中完成
8. 缺陷描述:参照点添加权限和修改权限单独控制出现权限异常错误
缺陷影响:用户执行添加,修改时,出现权限异常,无法完成任务
推迟原因:B9版本发现该权限,B10版本未通过验证,目前该模块开发人员调休,无法修改bug,
9. 缺陷描述:酒店渠道绑定关系权限控制出现权限异常错误
缺陷影响:a>权限控制易用性不好,会引起用户误操作;
b>权限控制错误
推迟原因:B9版本发现该权限,B10版本未通过验证。该模块后台无insert权限,只有Update权限,与其他模块不同,需要重新设置权限控制方式。
10.缺陷描述:酒店Rate绑定关系权限控制出现权限异常错误
缺陷影响:a>权限控制易用性不好,会引起用户误操作;
b>权限控制错误
推迟原因:B9版本发现该权限,B10版本未通过验证。该模块后台无insert权限,只有Update权限,与其他模块不同,需要重新设置权限控制方式。
11.缺陷描述:新建业务管理员权限用户,进入打包促销页面出现权限异常错误
缺陷影响:除系统管理员外,其他用户无法进行打包促销操作
推迟原因:B10版本发现该bug,目前该模块开发人员调休,无法修改bug
| 测试时间 | 2007年7月2日至2007年8月6日共35天 |
| 测试人力 | 1人×7天+1人×35天=42人天 |
| 硬件资源 | 服务器:PC 2台 客户端:PC 2台 |
测试过程中发现的缺陷主要有以下几个方面:
1. 需求定义不明确
需求文档中,存在功能定义错误,输入输出字段描述错误,输入输出字段限制定义错误,输入输出限制定义缺失这几种类型的缺陷。使得开发人员根据需求进行设计时,没有考虑相关功能的关联性,以及需求错误的地方,在测试过程中,需求相关的问题表现出来。需求做改正,设计必须跟着做改动,浪费时间和影响开发人员的积极性,降低开发人员对需求的信任,可能会导致开发人员不按照需求进行设计而根据自己的经验来进行设计。
页面设计没有根据需求进行,输入,输出字段文字错误,用户无法理解字段含义。页面设计没有完成需求规定的输入限制验证,导致用户可以输入错误的或者无效的数据,这些数据有可能会引起功能性错误。
6. 开发人员疏忽引起的缺陷
因为开发人员的疏忽,导致系统需要验证的地方,调用了错误的验证,系统需要进行输入控制的地方没有进行相应的控制。
软件测试全栈专题系列课程
https://edu.csdn.net/combo/detail/2221
Jmeter高级性能测试实战
https://edu.csdn.net/course/detail/35834RobotFramework+Jmeter接口自动化测试课程
https://edu.csdn.net/course/detail/36152Fiddler接口抓包神器使用教程
https://edu.csdn.net/course/detail/32782零基础新手入门软件测试必知必会
https://edu.csdn.net/course/detail/32598
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我有一个围绕一些对象的包装类,我想将这些对象用作散列中的键。包装对象和解包装对象应映射到相同的键。一个简单的例子是这样的:classAattr_reader:xdefinitialize(inner)@inner=innerenddefx;@inner.x;enddef==(other)@inner.x==other.xendenda=A.new(o)#oisjustanyobjectthatallowso.xb=A.new(o)h={a=>5}ph[a]#5ph[b]#nil,shouldbe5ph[o]#nil,shouldbe5我试过==、===、eq?并散列所有无济于事。
我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere
Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/
我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test
我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r
我在app/helpers/sessions_helper.rb中有一个帮助程序文件,其中包含一个方法my_preference,它返回当前登录用户的首选项。我想在集成测试中访问该方法。例如,这样我就可以在测试中使用getuser_path(my_preference)。在其他帖子中,我读到这可以通过在测试文件中包含requiresessions_helper来实现,但我仍然收到错误NameError:undefinedlocalvariableormethod'my_preference'.我做错了什么?require'test_helper'require'sessions_hel
只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您
我有:When/^(?:|I)follow"([^"]*)"(?:within"([^"]*)")?$/do|link,selector|with_scope(selector)doclick_link(link)endend我打电话的地方:Background:GivenIamanexistingadminuserWhenIfollow"CLIENTS"我的HTML是这样的:CLIENTS我一直收到这个错误:.F-.F--U-----U(::)failedsteps(::)nolinkwithtitle,idortext'CLIENTS'found(Capybara::Element