軟體測試實務:業界成功案例與高效實踐 I《Chapter 9

自動化功能驗證:框架與實務經驗

劉振三

玩美移動/訊連科技

“ 測試自動化一直是許多公司努力推廣的項目之一,除了大幅提升效率之外,自動測試也提供了測試本身的一致性與穩定性,近年來軟體修改發行的時間間隔越來越短的情況下,自動測試就變得更加重要,本章節將介紹自動測試的優缺點及實務上的測試應用。

測試是非常耗費人力與時間的活動,出貨前要把所有的測試項目和所有可能的組合都測完的話,就必須投入大量人力來完成測試,為了出貨時間壓力,測試範圍往往被壓縮,只做了部分比較重要的功能驗證和相容性驗證,如此一來很多漏網之魚就流到市面去了,造成公司的損失。為了解決這個問題,測試團隊希望藉由提升測試效率的方式,在有限的人力和時間資源下擴大測試的範圍,提升產品的穩定性。提升測試效率最根本的做法當然就是自動化,不僅不用人力還能24小時作業,擴充測試機器就能擴充測試量能,可以說是完美的解決方案。

隨著新開發流程的引進,出新版本的頻率也相對變得頻繁。以前的軟體大約一年出一次到兩次的新版本就好,現在的App大多是一個月就會出一個新版本,甚至每周都會出一個新版本。讀者可以參考「成長駭客」和「持續性整合(CI/CD)」的相關文章,就可以了解到軟體出版本的頻率為何要這麼頻繁了。

頻繁的新版本需求墊高了自動測試的重要性。沒有自動測試就沒辦法在如此頻繁的出貨狀態下提供高品質的軟體。本章將介紹自動測試與手動測試的優缺點,及玩美移動公司在自動測試上的佈署,及利用CI/CD 的方式來佈署系統化自動測試。


章節大綱

CH9 自動化功能驗證:框架與實務經驗

9.1 何為自動測試

  9.1.1 手動測試的優點

  9.1.2 手動測試的缺點

  9.1.3 自動測試的優點

  9.1.4 自動測試的缺點

  9.1.5 自動測試與單元測試

9.2 自動測試框架

  9.2.1 系統模組自動測試

  9.2.2 人機介面自動測試

  9.2.3 人機介面測試程式撰寫-Page Object Model 作法

  9.2.4 人機介面測試程式撰寫案例

  9.2.5 測試工程師的分工

9.3 常見的自動測試軟體介紹

  9.3.1 Selenium

  9.3.2 Appium

  9.3.3 Jenkins

  9.3.4 JMeter

  9.3.5 Monkey Test

  9.3.6 Robot Framework

  9.3.7 SikuliX

  9.3.8 Postman

9.4 導入自動化測試

  9.4.1 測試工程師不會寫程式

  9.4.2 開發工程師沒時間配合寫API

  9.4.3 環境問題

  9.4.4 正確答案比對問題

9.5 ATS 介紹(Auto Test System,玩美移動公司的自動測試系統)

  9.5.1 ATS Center

  9.5.2 Case Pool

  9.5.3 Devices Pool

  9.5.4 Job Pool

  9.5.5 Result Comparison

  9.5.6 Report System

  9.5.7 App測試平台

  9.5.8 伺服器API 測試平台

  9.5.9 瀏覽器測試平台

9.6 結語

內容預覽

作者簡介

劉振三

曾任訊連科技資深軟體測試工程師14 年,專精多媒體相關測試和跨國軟體專案整合測試,現

任玩美移動QA 團隊測試主管

作者所屬機構

專章引用

劉振三,〈自動化功能驗證:框架與實務經驗〉。《軟體測試實務:業界成功案例與高效實踐 I》,博碩文化,2023年5月,ISBN 978-626-333-485-4。