日常設計
測試用例的時候,有許多經典的測試理論。比如邊界法、等價法,這些經常用到我們日常的
工作中。當然也有許多的理論,比如正交分解法是使用起來非常費勁。往往轉化為實際的容易理解的測試語言就非常困難。
測試的時候,我們也會碰到難堪的場景,那就是測試遺漏。
我們來分析下,開發的過程。開發拿到需求后,就會開發相應的代碼,然后簡單的測試下功能。代碼之間有可能是互相調用的,代碼可能影響到的模塊,有些開發是知道的,有些是不知道的。如果是有關數據庫的操作,一個地方的改動有可能影響了多個模塊。所以問題的復雜性就體現在這里了。
那么對于日常測試每個新功能,我們該怎么去構筑我們堅固的質量堡壘呢。
根據開發過程的特點,總結了我們設計測試用例六把刀。
一、功能
關注頁面單個功能點驗證,充分考慮開發改動的每個點。這個是保證開發每個已知的修改點都能改對。
二、關聯
重點考慮修改點對其他模塊的影響,包括代碼的影響和操作數據引起的影響。
比如新增加的功能增加了數據庫表的字段,必須關聯的驗證每個使用該表的該字段的模塊是否正常工作。難點在于需要分析出已知和未知的影響模塊,考慮的越多,往往遺漏的問題就越少。
三、流程
很多系統是有流程的,比如工作流系統。當修改了一個點的時候,我們必須考慮整個流程是否能夠正常運轉起來。
四、升級
我們大部分系統都是對已有的系統進行升級。對于升級前的數據,我們必須保證能夠正常工作。升級之前,需要模擬好各種情況。同時,也需要對升級的數據庫腳本進行充分的檢查。
五、安全
比如菜單功能權限等。
六、性能
有的時候需要對性能進行考慮,比如升級腳本的執行效率,功能點的響應時間,事務交易的時間。
這六把刀現在已經應用到了我們日常設計測試計劃,測試用例工作中去了,成為了大家思考的一個入口點。后來大家發現有如下特點:
1)實踐證明,該方法非常靈活。
在不同的顆粒度設計測試用例都可以作為我們思考的一個切入點。比如站在測試計劃的角度,站在每個測試用例的角度都可以使用。
2)平易近人
道理非常簡單,非常容易理解,可操作性非常高。不再是只能在課堂上講,在實踐中用不上的理論了。
3)功能和關聯使用頻率最高
實踐證明這兩個理論幾乎可以用到每輪的測試中。同時為我們發現了不少的BUG。(以上言論僅代表作者的個人觀點,不代表51Testing觀點)