1、怎么確定功能與流程之間的關系,才能確保頁面功能與流程都有比較充分的測試?
  2、怎么安排和分配頁面功能與流程測試,才能做到不重復不遺漏,不多不少?
  3、怎么確定流程測試是充分的、少遺漏的?
  4、從用例數量的角度,怎么平衡頁面功能與流程的測試?分解開來,就是怎么確定各需要多少用例,才是相對比較合適的?
  一個一個來解決吧。
  首先,流程為綱,頁面為內容,綱舉目張。頁面和功能是所有流程的基礎,必須保證這一部分是相對比較充分的測試。這是一個一個零散的珍珠,一個一個撿,需要花費不少功夫,需要找根線,將它們串起來。而想來想去,只有流程是最合適的??傮w來說:可以按照流程為主,在流程中穿插頁面和功能測試,通過流程的主動流轉,對頁面和功能進行測試;而對于獨立的頁面和功能,則單獨擰出來測試;在所有可能的頁面功能都測試結束后,則對剩下的流程執行業務流程測試。當然,這里會產生一個問題,在這種設計思路中,怎么遵循用例設計中的獨立性原則?留待后面解決。
  其次,以流程為主,穿插頁面功能測試,模塊化設計。流程穿插頁面,這個其實在前面基本上確定了,所以這里主要解決遺漏和重復的問題。從需求設計的角度來說,頁面和功能是流程的基礎,而同時也是依附于流程的,在流程中的獨立頁面(注意與獨立的功能頁面的區別),是沒有意義的,也就是說,只要流程的測試足夠充分了,那么頁面和功能的測試也就充分了,不會遺漏了。這里的重復存在的可能性是很大的,無論流程怎么變,總體來說,頁面數量大體是固定的,只是處理邏輯會略有不同,則肯定會在大量的流程用例中出現相同的功能和頁面。對于隨著流程不同,而略有變化的頁面和功能,需要在后面的用例中將之前存在過的頁面和功能用例省略并且過濾,比如房間數量隨人數不同而變化的功能,在多次執行流程時,可以在后面省略該流程;對于固定的功能,比如擔保功能這樣的功能,不隨審批與否而變化,可以作為獨立功能,單獨擰出來,作為功能測試用例中的擔保模塊存在,關于這樣的功能,需要一個列表單獨列出,并且根據流程中出現的情況,可以增減。
  第三,采用科學的設計方法,來確保流程用例的充分完整。既然確定了流程為主線的用例設計思路,那么就要確保流程的用例是充分完整的,最好的辦法,就是使用科學的測試用例設計方法。這個時候回過頭來看學過的和常用的用例設計方法,等價類、邊界值、判定表等這些方法,在針對某一個功能或某一個不大的模塊的時候,是夠用而且很適合的(當然,這個在后面的具體頁面功能的用例設計中,依然是必須要用的),不過,在針對某一個業務線或產品的時候,卻很明顯不夠用了,需要更加宏觀更加有效的設計方法。在仔細分析過整體業務流程的規律、大量的比對后,結合我目前所掌握的知識和方法,最后,決定使用正交實驗分析法為主要思路來規劃整體流程用例,結合分層的測試設計思想,以等價類等方法來設計具體測試用例。