自動化測試概念
自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例并通過評審之后,由測試人員根據測試用例中描述的過程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。測試自動化可以在已經存在的正式測試過程中自動化一些重復但必要的任務,或者添加額外的難于手工執行的測試。
設計測試用例的萬能公式:功能測試、界面測試、性能測試,易用性測試、安全性測試、兼容性測試
常見面試題
手工測試仍然占主導地位
1.自動化測試能夠取代人工測試嗎?
自動化測試不一定比人工測試更能保障系統的可靠性,自動化測試是測試人員手工編寫,后續如果有功能的變更自動化也需要進行不定期的維護和更新
2.自動化測試可以大幅度降低工作量?
錯誤 自動化測試只是測試工作中的一小部分測試行為
坑!!“一定程度上”和“大幅度”的表達方式也需要注意
tips:測試筆試中的選擇題盡量不要選擇說的太死或者太絕對的選項~~~
自動化測試金字塔
圖解:越往上走,投入更多的時間和精力 越往下走,獲得的回報更大
手工測試:投入更多的時間和精力,回報最小
前端測試:精力較多,回報較小(服務器端出現問題比較多,前端出現問題比較少–前端問題在手工測試階段就可以發現)
接口測試:精力較少,回報較高
單元測試:精力很少,回報非常高
實際在工作中,手工測試階段才能發現更多的問題,投入的精力也更大。
其次是前端自動化,可以發現的問題相較于接口自動化來說要更多一些,因為后端的問題都會體現在前端界面上。
接口自動化:關注的是根據請求檢查響應結果(響應數據類型、數據)
單元測試:對程序最小單元執行測試(人為規定)(方法、類、接口)
下單:
生成訂單—api
減少庫存—api
付費渠道—api
單元測試主要由開發人員來執行
Web自動化測試
谷歌瀏覽器服務器
selenium