



   (1)理解错误推测法的原理。
(2)能够采用错误推测法进行测试用例设计。
(3)能够在真实项目中灵活运用错误推测法。
对于每个行业的工作者而言,经验都非常重要。对于测试工作而言,经验同样占据举足轻重的地位。基于经验开展的测试可以更充分、更高效地发现深层次的缺陷,进一步提升软件的质量。
错误推测法即借助测试经验开展测试的一种方法,它基于经验和直觉推测软件中容易产生缺陷的功能、模块及各种业务场景等,并依据推测逐一进行列举,从而更有针对性地设计测试用例。例如,进行旅馆住宿系统测试时,办理入住及房间结算功能模块产生的缺陷数量最多,且缺陷严重程度也较高。因此,进行旅馆住宿系统其他版本测试时,着重测试了上述两模块,实践证明的确能够发现不少缺陷。
下面以办理入住功能为例进行错误推测法的阐述。需求简要概括如下:旅馆住宿系统支持房间网上预订、房间非网上预订(即旅馆业主为游客办理预订)、房间入住、房间续租、更换房间及房间结算等功能,且无论已预订房间的或是未预订房间的游客,只要房间有空余,均可办理入住。
基于经验可知,办理入住功能中,往往易产生房间资源占用冲突的情况发生,例如:
(1)针对空闲的房间,其他游客办理入住时是否允许;
(2)针对已被预订的某时段的房间,其他游客办理该时段入住时是否允许;
(3)针对已被预订但又被退订某时段的房间,其他游客办理该时段入住时是否允许;
(4)针对已被他人入住的某时段的房间,其他游客办理该时段入住时是否允许;
(5)针对某游客入住到期但同时申请当前房间续租业务的房间,其他游客办理续租时段入住时是否允许;
(6)针对某游客已入住但申请换房业务,且换房成功后空闲的房间,其他游客办理该时段入住时是否允许;
(7)针对某游客已入住但申请换房业务,且换房成功后新占用的房间,其他游客办理该时段入住时是否允许;
(8)针对刚刚办理了房间结算业务的房间,办理已结算时段入住时是否允许;
(9)针对一间房的多个不同时间段被不同游客办理了预订、入住、续租、换房等业务的情况,其他游客办理入住时是否允许;
(10)其他容易产生房间资源占用冲突的情况。
基于上述分析,进一步设计测试用例,如表5.1所示。
表5.1 测试用例设计
   
   
   注意 :
①值得提醒的是,表5.1中所示用例并未覆盖所有测试点,仅为依据错误推测法推测出的容易出问题、需要特别关注的地方。读者可结合个人经验进一步填充测试用例。
②限于篇幅,表5.1所示的测试用例模板中省去了“测试输入数据”“实际结果”等列。
不难理解,从某种角度来讲,将错误推测法看成一种提高测试质量和效率的技能似乎更为适合。该方法应用得好坏充分体现了测试人员经验丰富的程度。因此,通过该方法的学习,希望读者重视以往测试中遇到的缺陷,不断积累和总结经验,从而更充分、更高效地发现深层次的缺陷,进一步提升软件的质量。
显然,本实验在介绍错误推测法的同时,也在与读者分享一些经验,旨在让读者顺利开展相应测试。纵观众多的软件系统,尽管功能不同、业务各异,但归根结底都离不开最基本的新增、删除、修改及查询功能。下面介绍常见的新增、删除、修改及查询功能的测试点,以便读者拓展测试思路。
【 任务5.1 】 新增功能测试点汇总。
本任务针对常见的新增功能,汇总通用测试点或易产生缺陷的地方,如表5.2所示,以便读者拓展新增功能测试思路,积累经验。
表5.2 新增功能测试点
   【 任务5.2 】 删除功能测试点汇总。
本任务针对常见的删除功能,汇总通用测试点或易产生缺陷的地方,如表5.3所示,以便读者拓展删除功能测试思路,积累经验。
表5.3 删除功能测试点
   【 任务5.3 】 修改功能测试点汇总。
本任务针对常见的修改功能,汇总通用测试点或易产生缺陷的地方,如表5.4所示,以便读者拓展修改功能测试思路,积累经验。
表5.4 修改功能测试点
   【 任务5.4 】 查询功能测试点汇总。
本任务针对常见的查询功能,汇总通用测试点或易产生缺陷的地方,如表5.5所示,以便读者拓展查询功能测试思路,积累经验。
表5.5 查询功能测试点
   至此,简要汇总了常见的新增、删除、修改及查询功能的测试点,读者可结合个人项目经验进一步完善上述测试点。
【 练习5.1 】 对任意网站的注册功能进行测试,结合任务5.1中汇总的新增功能测试点执行测试,可结合实际业务进行测试点拓展。在此提醒读者,此过程中应注意总结并积累个人经验。(从某种角度来讲,注册即新增了一个用户)
【 练习5.2 】 对任意邮箱网站的删除邮件功能进行测试,结合任务5.2中汇总的删除功能测试点进行测试,可结合实际业务进行测试点拓展。提醒读者,此过程中应注意总结并积累个人经验。