“自動化測試”淺析
成都創(chuàng)新互聯(lián)公司專注于鄂爾多斯網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供鄂爾多斯?fàn)I銷型網(wǎng)站建設(shè),鄂爾多斯網(wǎng)站制作、鄂爾多斯網(wǎng)頁設(shè)計、鄂爾多斯網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造鄂爾多斯網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供鄂爾多斯網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
很多人認(rèn)為“自動化測試”就是自動執(zhí)行并自動分析程序正確與否的測試方法,那讓我們看看事實是否如此
吧。
以百度(www.baidu.com)搜索界面為例,測試頁面Layout的正確性:
1. 頁面元素(元素是否齊全、位置是否正確、文字是否正確、超鏈接是否正確、多媒體是否正確)
2. 頁面展示(樣式是否正確、縮放窗體自適應(yīng)、瀏覽器自適應(yīng))
3. 腳本兼容
一個如此簡單的設(shè)計,倘若為了實現(xiàn)全“自動化測試”,僅實現(xiàn)以上檢查點各元素枚舉所需的(用例設(shè)計、
腳本開發(fā)、代碼審核的)工作量就相當(dāng)可觀,對這個龐大腳本的維護成本更是難以估算。
答案是肯定的。因為導(dǎo)致上述困境的唯一原因是我們忽略了“自動化測試”成立的前提:
1. 工具的支持
2. 人力、時間成本的投入
3. 投入人員的技術(shù)能力
4. 測試用例、測試數(shù)據(jù)的完備性
5. 環(huán)境部署的獨立性與正確性
6. 測試代碼的可維護性、重用性及正確性
所以當(dāng)
1. 程序更新頻繁
2. 程序耦合度高
3. 程序優(yōu)先級高
時,可將不同模塊不同場景不同優(yōu)先級的功能抽離出基本業(yè)務(wù)邏輯,構(gòu)成所謂的通用用例進行自動化。
除了日常對系統(tǒng)的例行檢測外,還可根據(jù)具體場景排列出各種組合,滿足大項目所需的首輪smoke test
,識別功能性block。
另,“自動化測試”還存在許多附加收益,比如:
1. 測試數(shù)據(jù)構(gòu)建
2. 測試數(shù)據(jù)積累
(不同場景下的數(shù)據(jù)積累可在日常手工測試中得到復(fù)用和維護)
3. 基本功能展示
(對于員工熟悉產(chǎn)品起到直觀的展示作用)
4. 等等
常用的測試輔助工具除了“自動化測試工具”QTP和Selenium外還有:
1. Excel: 滿足一定規(guī)律的數(shù)據(jù)統(tǒng)計
2. SQL: 數(shù)據(jù)驗證、還原
3. LoadTest: Web Test(簡單業(yè)務(wù)的檢查點校驗)、Load Test(并發(fā)處理正確性)
4. UnitTest: 白盒測試(含覆蓋率統(tǒng)計)
“單元測試”淺析
同樣,也有人認(rèn)為實現(xiàn)了單元測試就等于實現(xiàn)了該單位功能所有業(yè)務(wù)場景的校驗,這也是沒有根據(jù)的。因
為1行代碼需要多少句進行驗證是無法估算的。
即便有人寫出了所謂的單元測試代碼,那他的測試代碼的正確性又該有誰來保證?這就構(gòu)成了死循環(huán)。
所以常見的Unit Test真正起到的作用,是保證在data contract一定時,功能不被block且輸出結(jié)果
滿足約定,僅此而已。