基於模型的測試框架的想法 (二)

爲什麼會想起來要建立測試的模型,主要是基於一個以前項目的想法。下面是這個項目的例子,非常容易明白,輸入是命令行的語法,輸出是可能的所有命令的組合,還有一個圖例,用線條表示出所有可能的命令組合。


Input:

command -option1 <value1> -option2 { { value2-1 | value2-2 } -option3 <value3> { -option4 <value4> | -option5 } -option6 <value6> { -option7 <value7> | -option8 } | { value2-3 | value2-4 } -option9 <value9> { -option10 <value10> | -option11 } }


Output:

 command -option1 <value1> -option2 value2-1 -option3 <value3> -option4 <value4> -option6 <value6> -option7 <value7>
 command -option1 <value1> -option2 value2-4 -option9 <value9> -option10 <value10>
 command -option1 <value1> -option2 value2-2 -option3 <value3> -option4 <value4> -option6 <value6> -option7 <value7>
 command -option1 <value1> -option2 value2-1 -option3 <value3> -option4 <value4> -option6 <value6> -option8
 command -option1 <value1> -option2 value2-1 -option3 <value3> -option5 -option6 <value6> -option7 <value7>
 command -option1 <value1> -option2 value2-3 -option9 <value9> -option10 <value10>
 command -option1 <value1> -option2 value2-4 -option9 <value9> -option11
 command -option1 <value1> -option2 value2-1 -option3 <value3> -option5 -option6 <value6> -option8
 command -option1 <value1> -option2 value2-2 -option3 <value3> -option4 <value4> -option6 <value6> -option8
 command -option1 <value1> -option2 value2-2 -option3 <value3> -option5 -option6 <value6> -option7 <value7>
 command -option1 <value1> -option2 value2-3 -option9 <value9> -option11


Output with Graph:


Another example:

input:

getup eat { bread | egg | noodle | apple } [ drink { juice | water | milk } ] { work | play { swimming | pool | football | basketball | badminton | pingpang } | listen music | watch { movie | TV } } 

output:

optimized possible combinations:


 getup eat bread drink juice work
 getup eat bread drink juice play swimming
 getup eat noodle drink milk listen music
 getup eat noodle drink milk watch movie
 getup eat noodle drink milk work
 getup eat noodle drink milk play pool
 getup eat noodle drink milk play football
 getup eat noodle drink milk play basketball
 getup eat noodle drink milk play badminton
 getup eat noodle drink milk play pingpang
 getup eat noodle drink milk watch TV
 getup eat bread drink water work
 getup eat apple drink juice work
 getup eat egg drink juice work
 getup eat noodle drink milk play swimming
 getup eat apple drink juice listen music
 getup eat apple drink juice watch movie
 getup eat bread drink water play swimming
 getup eat bread drink water play pool
 getup eat apple drink juice play swimming
 getup eat apple drink juice play pool
 getup eat apple drink juice play football
 getup eat apple drink juice play basketball
 getup eat apple drink juice play badminton
 getup eat apple drink juice play pingpang
 getup eat apple drink juice watch TV
 getup eat bread drink water play football
 getup eat apple drink water listen music
 getup eat apple drink water watch movie
 getup eat bread drink water listen music
 getup eat bread drink water watch movie
 getup eat egg drink juice play swimming
 getup eat egg drink juice listen music
 getup eat egg drink juice watch movie
 getup eat apple drink water work
 getup eat apple drink water play basketball
 getup eat apple drink water play badminton
 getup eat apple drink water play pingpang
 getup eat apple drink water watch TV
 getup eat bread drink water play basketball
 getup eat apple drink milk work
 getup eat bread drink water play badminton
 getup eat bread drink water play pingpang
 getup eat bread drink water watch TV
 getup eat bread drink milk work
 getup eat egg drink juice play pool
 getup eat egg drink juice play football
 getup eat egg drink juice play basketball
 getup eat egg drink juice play badminton
 getup eat egg drink juice play pingpang
 getup eat egg drink juice watch TV
 getup eat egg drink water work
 getup eat egg drink milk work
 getup eat noodle drink juice work
 getup eat noodle drink water work


Graph with combinations:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章