jiangboh 发表于 2017-2-9 09:28:22

小小品'测试设计方法'之四:pathcombo方法

书接上回(小小品'测试设计方法'之三:状态迁移图表),今天小小继续按照这张图的思路研究下去,本次展示的设计方法是:PathCombo
建议大家先重新阅读之前文章——小小品'测试设计方法'之三:状态迁移图表,其中最后一个章节讲到,短短的七句话式样,在Nスイッチカバレッジ(N=3)的情况下居然有876件用例生成,而如果想让单条测试用例覆盖大部分的路径,N至少为10,用例量将过亿,显然这是不现实的;并且Nスイッチカバレッジ的思想是相同迁移数量,而实际迁移有场景的概念,按照用户使用场景,更多应该是从始至终的一种迁移模式。所以Nスイッチカバレッジ有其局限性,正因此,pathcombo的方法诞生了!之前举了一个车载仪表的案例,本文再举一个车载娱乐的案例,需求如下:
车载音响有四个按钮,‘上一曲’‘下一曲’‘循环播放’‘弹出’1.CD插入后,进入音乐‘连续播放’模式2.音乐播放过程中,可以通过‘上一曲’‘下一曲’变换歌曲3.点击‘循环播放’后,进入循环播放模式4.再次点击‘循环播放’后,又恢复到‘连续播放’模式5.点击‘弹出’按钮,CD弹出*除了中控台有四个按钮外,还有一个遥控器,同样存在四个按钮,相同功能。
先看看状态迁移图:

利用Nスイッチカバレッジ理论,形成1-Switch,再用‘[遷移元の状態]<イベント1><イベント2>[遷移先の状態]’的方式链接如下:
(ア) [スタート]<CD挿入><曲送り>[連続再生](イ) [スタート]<CD挿入><Repeat>[リピート再生](ウ) [スタート]<CD挿入><Eject>[エンド](エ) [連続再生]<曲送り><曲送り>[連続再生](オ) [連続再生]<Repeat><Repeat>[連続再生](カ) [連続再生]<曲送り><Repeat>[リピート再生](キ) [連続再生]<曲送り><Eject>[エンド](ク) [連続再生]<Repeat><Eject>[エンド](ケ) [リピート再生]<Repeat><曲送り>[連続再生](コ) [リピート再生]<Repeat><Repeat>[リピート再生](サ) [リピート再生]<Repeat><Eject>[エンド]
Pathcombo法就是首先用尽量不重复的路径来尽量多地覆盖上述11个状态迁移,对无法覆盖的状态迁移,另起一条路径来覆盖,结果如下:
(ア)→(エ)→(オ)→(カ)→(コ)→(ケ)→(キ)(ア)→(エ)→(ク)(イ)→(サ)(ウ)
以最长的路径为例,(ア)→(エ)→(オ)→(カ)→(コ)→(ケ)→(キ),状态迁移路径为:<CD挿入><曲送り><曲送り><曲送り><Repeat><Repeat><曲送り><Repeat><Repeat><Repeat><Repeat><曲送り><曲送り><Eject>,形成FL表。
再根据之前文章——小小品'测试设计方法'之一:PICT,形成测试用例(详细形成过程不在这里赘述),共计26件测试用例,每件测试用例包含14个前后联系的状态测试。和传统Nスイッチカバレッジ思路相比,用例更精简、并且执行起来更方便。

梦想家 发表于 2017-2-9 10:01:30

纳尼
页: [1]
查看完整版本: 小小品'测试设计方法'之四:pathcombo方法