1. 程式人生 > >關於自動化測試的一點思考

關於自動化測試的一點思考

exce 向上 平衡 fiddler 人員 資料 三種 ron 浪費

測試十年,有一大半時間在做手工測試。最近幾年開始看一些自動化測試的東西,有多年手工測試的基礎,自動化測試進展相當快,尤其是接口自動化和功能自動化。

自動化測試在我看來就是用工具或者腳本一一實現手工測試的步驟。其中最重要的不是工具或腳本,而是測試思想。手工和自動化都可以實現測試思想所轉化出的用例,只是在某些情況下自動化可以提高測試的效率。

這麽多年的測試工作,測試方法總結起來只有一個:一定的條件下,做一定的操作,驗證得到的實際結果與預期結果是否一致。

測試設計得好不好,在於條件和操作考慮的是否完全(也就是覆蓋率高不高測試經驗、對業務的理解、對系統的了解程度都會影響測試覆蓋率)

測試執行得好不好,在於實際結果與預期結果比對是否完全(漏測很多時候不是測試人員沒有執行那條用例,而是執行了卻某一點預期結果未驗證,或不知道還有這個點需要驗證。)

舉個栗子:比如用戶下單虛擬產品支付成功。除了提示支付成功,前端要驗證用戶賬單有支付記錄,訂單裏有訂單記錄且賬單和訂單各字段信息都正確,產品權限開通,權限正確。 後端驗證支付列表、訂單列表、產品權限新增記錄且各字段正確。數據庫要驗證訂單、支付信息、用戶信息、用戶權限的數據正確性。考慮是否涉及其他的功能和系統驗證。實際上工作中大部分測試時間都花在驗證實際結果與預期結果是否一致上面。

我接觸的自動化測試大方向上主要包含三大塊:

1 性能測試 必須自動化。

2 接口功能自動化

3 ui功能自動化

後面兩塊都屬於功能驗證,如果不用自動化也可以測。用手工還是自動化主要在於測試時間和成本效率的平衡與取舍。

實際工作中有很多測半天甚至1個小時的小叠代版本,手工測試很快就完成。要是寫腳本也許腳本還沒寫完,上線時間點都到了。但換一個有幾十個接口的項目,手工驗證與自動化驗證相比自動化效率更高。

項目中應用自動化有以下三種情況:

1 自動化腳本協助手工測試
2 部分功能的自動化
3 全量驗證

再談自動化的學習:

重要的一點:先知其然,而後知其所以然。

學技術先快速入門使用。實踐中再繼續深入學習,理解原理。 就像新人學做菜,跟著視頻先買好材料配好菜(搭環境),再起油鍋下原料還有調料一番煎炸燉煮出鍋(實踐)。味道好壞不提,總歸知道如何做一道菜了。如果先學菜系理論,營養學等等,可能興趣耗盡都還是不會做菜。

還有註意不要陷入找資料的漩渦。早期我也浪費了大量的時間找資料,搜哪個工具更好。其實沒有好不好,對某一個專項測試而言,會一種工具另一種很快就能上手,一通百通。

我的學習記錄:

2008-2015 外包公司外派,接觸各種項目:手機測試、web測試、報表測試、接口測試、數據庫遷移測試各種項目都做過,用的最多的是數據庫

2016至今 fiddler Jmeter postman python selenium。

會的工具不多,但是每一個都在項目中有實際應用。學了一種工具,就要想辦法在項目中應用起來。比如之前一直用jmeter做接口測試,學了postman之後再做接口測試就用postman,其實除了界面功能都差不多。在學習python之後,便用python+requests實現接口測試了。當會使用多種方式實現之後,你會慢慢領悟到什麽樣的項目適合用什麽樣的工具。只驗證接口正確性的用jmeter和postman,如果接口數據還要做復雜的處理再驗證的更適合python。

工具不用學多深,我經常說excel我們用的功能只有它全部功能的很小一部分吧。這些自動化測試工具都是,不用學得多精多全才去用。會一點用一點,下次有項目再用一點,越用越深入。

the end!

關於自動化測試的一點思考