作者:京東零售 杜興文
首先聊一下概念,Web 前端自動(dòng)化測(cè)試是一種通過(guò)編寫代碼來(lái)自動(dòng)化執(zhí)行 Web 應(yīng)用程序的測(cè)試任務(wù)的方法,它通常使用 JavaScript 和測(cè)試框架 (如 Selenium、Appium 等) 來(lái)實(shí)現(xiàn)。
Web 前端自動(dòng)化測(cè)試的優(yōu)點(diǎn)是可以提高測(cè)試效率、減少測(cè)試時(shí)間和測(cè)試成本,并且可以確保測(cè)試質(zhì)量。以下是一些 Web 前端自動(dòng)化測(cè)試的優(yōu)點(diǎn):
-
提高測(cè)試效率:自動(dòng)化測(cè)試可以在短時(shí)間內(nèi)完成大量的測(cè)試任務(wù),從而減少測(cè)試所需的時(shí)間和測(cè)試成本。
-
減少測(cè)試成本:自動(dòng)化測(cè)試不需要手動(dòng)執(zhí)行測(cè)試任務(wù),從而減少了測(cè)試所需的人員和成本。
-
提高測(cè)試質(zhì)量:自動(dòng)化測(cè)試可以確保測(cè)試的覆蓋率和提高測(cè)試的準(zhǔn)確性,從而減少測(cè)試遺漏和測(cè)試質(zhì)量不高的問(wèn)題。
-
覆蓋更多場(chǎng)景:自動(dòng)化測(cè)試可以覆蓋更多的測(cè)試場(chǎng)景,從而確保軟件質(zhì)量得到保障。
-
減少人為錯(cuò)誤:自動(dòng)化測(cè)試可以減少測(cè)試人員的人為錯(cuò)誤,從而提高測(cè)試的準(zhǔn)確性。
在實(shí)際應(yīng)用中,Web 前端自動(dòng)化測(cè)試通常用于測(cè)試 Web 應(yīng)用程序的交互功能、性能、安全性等方面。例如,可以使用自動(dòng)化測(cè)試工具來(lái)測(cè)試 Web 應(yīng)用程序的登錄、注冊(cè)、導(dǎo)航、表單驗(yàn)證等功能,或者使用自動(dòng)化測(cè)試工具來(lái)測(cè)試 Web 應(yīng)用程序的性能,如響應(yīng)速度、頁(yè)面加載時(shí)間等。
總之,Web 前端自動(dòng)化測(cè)試是一種可以提高測(cè)試效率、減少測(cè)試成本和提高測(cè)試質(zhì)量的方法,適用于各種類型的 Web 應(yīng)用程序。
本文談?wù)勄岸俗詣?dòng)化測(cè)試從入門到精通再到專家級(jí)的方案與思維!分為以下不分:
一、首先來(lái)構(gòu)建一個(gè) Selenium 自動(dòng)化測(cè)試用例
示例測(cè)試需求非常簡(jiǎn)單:訪問(wèn)百度主頁(yè),搜索某個(gè)關(guān)鍵詞,并驗(yàn)證搜索結(jié)果頁(yè)面的標(biāo)題是“被搜索的關(guān)鍵詞”+“_ 百度搜索”。如果搜索的關(guān)鍵詞是“ChatGPT”,那么搜索結(jié)果頁(yè)面的標(biāo)題就應(yīng)該是“ ChatGPT_ 百度搜索”。
明白了測(cè)試需求后,我強(qiáng)烈建議你先用手工方式執(zhí)行一遍測(cè)試,具體步驟是:打開(kāi) Chrome 瀏覽器,輸入百度的網(wǎng)址“www.baidu.com”;在搜索輸入框中輸入關(guān)鍵詞“ChatGPT”并按下回車鍵;驗(yàn)證搜索結(jié)果頁(yè)面的標(biāo)題是否是“ChatGPT _ 百度搜索”。
明確了 GUI 測(cè)試的具體步驟后,我們就可以用 Java 代碼,基于 Selenium 實(shí)現(xiàn)這個(gè)測(cè)試用例了。這里,我要用到 Chrome 瀏覽器,所以需要先下載 Chrome Driver 并將其放入環(huán)境變量。接下來(lái),你可以用自己熟悉的方式建立一個(gè)空的 Maven 項(xiàng)目,然后在 POM 文件中加入 Selenium 2.0 的依賴,如圖 1 所示。
圖 1 在 POM 文件中加入 Selenium 2.0 的依賴
接著用 Java 創(chuàng)建一個(gè) main 方法,并把如圖 2 所示的代碼復(fù)制到你的 main 方法中。下面是基于 Selenium 的自動(dòng)化測(cè)試用例的樣本代碼
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class BaiduSearch {
public static void main(String[] args) {
// 設(shè)置驅(qū)動(dòng)路徑
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
// 啟動(dòng)瀏覽器
WebDriver driver = new ChromeDriver();
// 訪問(wèn)百度首頁(yè)
driver.get("https://www.baidu.com");
//獲取百度搜索輸入框元素,并自動(dòng)寫入搜索內(nèi)容
driver.findElement(By.id("kw")).sendKeys("ChatGPT");
//線程睡眠1秒
Thread.sleep(1000);
//獲取“百度一下”元素,并自動(dòng)點(diǎn)擊
driver.findElement(By.id("su")).click();
//線程睡眠3秒
Thread.sleep(3000);
Assert.assertEquals("ChatGPT _ 百度搜索",driver.getTitle());
//退出瀏覽器
driver.quit();
}
以上是從 0 到 1 建立了一個(gè)最簡(jiǎn)單直接的 GUI 自動(dòng)化測(cè)試用例。這個(gè)用例的實(shí)現(xiàn)很簡(jiǎn)單,但是只有真正理解了 Selenium 工具的原理,你才能真正用好它。
二、入門了之后我們要在測(cè)試職責(zé)的效率上大展身手,即****腳本與數(shù)據(jù)的解耦 + Page Object模型。
“測(cè)試腳本和數(shù)據(jù)解耦”的本質(zhì)是實(shí)現(xiàn)了數(shù)據(jù)驅(qū)動(dòng)的測(cè)試,讓操作相同但是數(shù)據(jù)不同的測(cè)試可以通過(guò)同一套自動(dòng)化測(cè)試腳本來(lái)實(shí)現(xiàn),只是在每次測(cè)試執(zhí)行時(shí)提供不同的測(cè)試輸入數(shù)據(jù)。
在測(cè)試腳本中通過(guò) data provider 去 CSV 文件中讀取一行數(shù)據(jù),賦值給相應(yīng)的變量,執(zhí)行測(cè)試用例。接著再去 CSV 文件中讀取下一行數(shù)據(jù),讀取完所有的數(shù)據(jù)后,測(cè)試結(jié)束。CSV 文件中有幾行數(shù)據(jù),測(cè)試用例就會(huì)被執(zhí)行幾次。具體流程如下圖所示。
“頁(yè)面對(duì)象模型”的核心理念是,以頁(yè)面為單位來(lái)封裝頁(yè)面上的控件以及控件的部分操作。而測(cè)試用例使用頁(yè)面對(duì)象來(lái)完成具體的界面操作。
頁(yè)面對(duì)象模型的核心理念是,以頁(yè)面(Web Page 或者 Native App Page)為單位來(lái)封裝頁(yè)面上的控件以及控件的部分操作。而測(cè)試用例,更確切地說(shuō)是操作函數(shù),基于頁(yè)面封裝對(duì)象來(lái)完成具體的界面操作,最典型的模式是“XXXPage.YYYComponent.ZZZOperation”。
基于這個(gè)思想,上述用例的偽代碼可以進(jìn)化成下圖 所示的結(jié)構(gòu)。這里給出了 login 函數(shù)的偽代碼,建議大家按照這種思路自己去實(shí)現(xiàn)一下 search 和 logout 的代碼,這樣可以更好的體會(huì)頁(yè)面對(duì)象模型帶來(lái)的變化。
三、****讓自動(dòng)化測(cè)試腳本更好地描述業(yè)務(wù)
業(yè)務(wù)流程抽象是,基于操作函數(shù)的更接近于實(shí)際業(yè)務(wù)的更高層次的抽象方式?;跇I(yè)務(wù)流程抽象實(shí)現(xiàn)的測(cè)試用例往往靈活性會(huì)非常好,你可以很方便地組裝出各種測(cè)試用例。
假設(shè),某個(gè)具體的業(yè)務(wù)流程是:已注冊(cè)的用戶登錄電商平臺(tái)購(gòu)買指定的書(shū)籍。那么,基于業(yè)務(wù)流程抽象的測(cè)試用例偽代碼,如下圖所示。
這段偽代碼的信息量很大,但是理解了這段代碼的設(shè)計(jì)思想,也就掌握了業(yè)務(wù)流程抽象的精髓。
從整體結(jié)構(gòu)上看,偽代碼順序調(diào)用了 4 個(gè)業(yè)務(wù)流程, 依次是完成用戶登錄的 LoginFlow、完成書(shū)籍查詢的 SearchBookFlow、完成書(shū)籍購(gòu)買的 CheckoutBookFlow、完成用戶登出的 LogoutFlow。
四、前端GUI自動(dòng)化測(cè)試的測(cè)試數(shù)據(jù)
GUI 自動(dòng)化測(cè)試的測(cè)試數(shù)據(jù)是指用于測(cè)試應(yīng)用程序用戶界面 (GUI) 的測(cè)試數(shù)據(jù)。在自動(dòng)化測(cè)試中,測(cè)試數(shù)據(jù)通常是從測(cè)試數(shù)據(jù)集中獲取的,這些數(shù)據(jù)集包含了應(yīng)用程序的不同輸入和輸出。
以下是一些常見(jiàn)的 GUI 自動(dòng)化測(cè)試數(shù)據(jù):
-
輸入數(shù)據(jù):輸入數(shù)據(jù)是指用于測(cè)試應(yīng)用程序輸入?yún)^(qū)域的輸入數(shù)據(jù),例如文本框、下拉框、單選按鈕等。輸入數(shù)據(jù)通常包括變量名、變量值、數(shù)據(jù)類型等。
-
按鈕數(shù)據(jù):按鈕數(shù)據(jù)是指用于測(cè)試應(yīng)用程序按鈕的點(diǎn)擊操作的輸入數(shù)據(jù)。按鈕數(shù)據(jù)通常包括按鈕的名稱、描述、點(diǎn)擊事件等。
-
文本數(shù)據(jù):文本數(shù)據(jù)是指用于測(cè)試應(yīng)用程序文本輸入?yún)^(qū)域的輸入數(shù)據(jù)。文本數(shù)據(jù)通常包括變量名、變量值、文本內(nèi)容等。
-
圖像數(shù)據(jù):圖像數(shù)據(jù)是指用于測(cè)試應(yīng)用程序圖像輸入?yún)^(qū)域的輸入數(shù)據(jù)。圖像數(shù)據(jù)通常包括變量名、圖像內(nèi)容、尺寸等。
-
表格數(shù)據(jù):表格數(shù)據(jù)是指用于測(cè)試應(yīng)用程序表格的輸入數(shù)據(jù)。表格數(shù)據(jù)通常包括表格名稱、行數(shù)據(jù)、列數(shù)據(jù)等。
-
圖表數(shù)據(jù):圖表數(shù)據(jù)是指用于測(cè)試應(yīng)用程序圖表的輸入數(shù)據(jù)。圖表數(shù)據(jù)通常包括圖表名稱、數(shù)據(jù)系列、數(shù)據(jù)值等。
在 GUI 自動(dòng)化測(cè)試中,測(cè)試數(shù)據(jù)集的構(gòu)建對(duì)于測(cè)試的成功非常重要。測(cè)試數(shù)據(jù)集應(yīng)該盡可能地覆蓋應(yīng)用程序的不同輸入和輸出,以便在測(cè)試過(guò)程中識(shí)別潛在的問(wèn)題和缺陷。
傳統(tǒng)上,數(shù)據(jù)質(zhì)量被分成6個(gè)方面。
?準(zhǔn)確性:一項(xiàng)信息在多大程度上反映了現(xiàn)實(shí)?
?完備性:它是否滿足你對(duì)全面性的期望?
?連貫性:存儲(chǔ)在一個(gè)地方的信息與存儲(chǔ)在其他地方的相關(guān)數(shù)據(jù)是否一致?
?及時(shí)性:當(dāng)你需要時(shí),你的信息是否可用?
?有效性:信息是否有特定的格式、類型或大?。克欠褡裱瓨I(yè)務(wù)規(guī)則/最佳實(shí)踐?
?完整性:不同的數(shù)據(jù)集能否被正確地連接起來(lái),以反映一個(gè)更大的畫(huà)面?關(guān)系是否被很好地定義和實(shí)施?
這些維度是在對(duì)設(shè)計(jì)數(shù)據(jù)倉(cāng)庫(kù)采取廣泛的觀點(diǎn)時(shí)定義的??紤]了所有定義和收集的數(shù)據(jù)集,它們之間的關(guān)系,以及正確服務(wù)于組織的能力。
五、提高 GUI 自動(dòng)化測(cè)試穩(wěn)定性的關(guān)鍵技術(shù)
提高 GUI 自動(dòng)化測(cè)試穩(wěn)定性的理論點(diǎn)包括以下幾點(diǎn):
-
選擇合適的測(cè)試框架:測(cè)試框架是 GUI 自動(dòng)化測(cè)試的核心,它決定了測(cè)試的效率和穩(wěn)定性。選擇合適的測(cè)試框架需要綜合考慮測(cè)試工具、測(cè)試環(huán)境、測(cè)試需求等多個(gè)因素。
-
編寫高質(zhì)量的測(cè)試用例:測(cè)試用例是 GUI 自動(dòng)化測(cè)試的關(guān)鍵,它決定了測(cè)試的覆蓋率和測(cè)試質(zhì)量。編寫高質(zhì)量的測(cè)試用例需要深入了解軟件功能和界面設(shè)計(jì),能夠覆蓋軟件的各個(gè)功能點(diǎn)和細(xì)節(jié)。
-
選擇適當(dāng)?shù)臏y(cè)試數(shù)據(jù):測(cè)試數(shù)據(jù)是 GUI 自動(dòng)化測(cè)試的基礎(chǔ),它決定了測(cè)試的準(zhǔn)確性和效率。選擇適當(dāng)?shù)臏y(cè)試數(shù)據(jù)需要綜合考慮軟件功能、界面設(shè)計(jì)、測(cè)試需求等多個(gè)因素。
-
優(yōu)化測(cè)試環(huán)境:測(cè)試環(huán)境是 GUI 自動(dòng)化測(cè)試的基石,它決定了測(cè)試的穩(wěn)定性和可靠性。優(yōu)化測(cè)試環(huán)境需要綜合考慮測(cè)試工具、測(cè)試環(huán)境、測(cè)試需求等多個(gè)因素,保證測(cè)試環(huán)境的穩(wěn)定性和兼容性。
-
進(jìn)行性能測(cè)試:GUI 自動(dòng)化測(cè)試需要在測(cè)試過(guò)程中考慮軟件的性能和響應(yīng)速度。進(jìn)行性能測(cè)試需要模擬大量的用戶操作和負(fù)載,評(píng)估軟件的性能和響應(yīng)速度,及時(shí)發(fā)現(xiàn)和解決軟件性能瓶頸。
-
定期進(jìn)行測(cè)試維護(hù):GUI 自動(dòng)化測(cè)試需要定期進(jìn)行測(cè)試維護(hù),更新測(cè)試用例和測(cè)試數(shù)據(jù),清理過(guò)時(shí)的測(cè)試環(huán)境和測(cè)試工具,保證測(cè)試的及時(shí)性和有效性。
提高 GUI 自動(dòng)化測(cè)試穩(wěn)定性的關(guān)鍵技術(shù)點(diǎn)包括以下幾點(diǎn):
1. 基本HTML/CSS/JS技能:對(duì)于一個(gè)web前端自動(dòng)化測(cè)試工程師,基本的HTML/CSS/JS技能必不可少,可以幫助其更好的理解頁(yè)面交互與渲染機(jī)制。
2. 工具鏈技術(shù):對(duì)于 web 前端自動(dòng)化測(cè)試,工具鏈技術(shù)是必備技能,例如 Grunt 和 Gulp 等。
3. 語(yǔ)言技能:web自動(dòng)化測(cè)試需要用到多種編程語(yǔ)言,如Java、Python、JavaScript等,具備這些語(yǔ)言的開(kāi)發(fā)能力是必不可少的。
4. 基本的測(cè)試技術(shù):web前端自動(dòng)化測(cè)試工程師需要熟知測(cè)試的基本概念和方法,如測(cè)試計(jì)劃、測(cè)試用例、測(cè)試策略等。
5. API和接口測(cè)試:web前端自動(dòng)化測(cè)試工程師需要熟悉如何對(duì)API和接口進(jìn)行測(cè)試,這對(duì)于確保應(yīng)用程序功能的準(zhǔn)確性非常重要。
6. 自動(dòng)化測(cè)試框架技術(shù):web前端自動(dòng)化測(cè)試工程師需要掌握至少一種自動(dòng)化測(cè)試框架技術(shù),如Selenium、WebdriverIO等。
7. 調(diào)試技能:web前端自動(dòng)化測(cè)試工程師需要熟練使用調(diào)試技能來(lái)解決測(cè)試過(guò)程中的問(wèn)題,如使用Fiddler、Chrome開(kāi)發(fā)者工具等。
8. 數(shù)據(jù)庫(kù)技術(shù):web前端自動(dòng)化測(cè)試工程師需要熟悉基本的數(shù)據(jù)庫(kù)操作和SQL語(yǔ)句,以便在測(cè)試時(shí)進(jìn)行數(shù)據(jù)驗(yàn)證和數(shù)據(jù)比對(duì)。
9. 腳本編寫技能:通過(guò)編寫JavaScript和Python等腳本,可以幫助測(cè)試人員實(shí)現(xiàn)自動(dòng)化測(cè)試和快速生成測(cè)試報(bào)告。
10. 高效的測(cè)試方法:web前端自動(dòng)化測(cè)試工程師需要熟練掌握各種測(cè)試方法和技巧,以便在工作中更加高效和全面的完成測(cè)試任務(wù)。
總之,提高 GUI 自動(dòng)化測(cè)試穩(wěn)定性需要綜合考慮測(cè)試框架、測(cè)試用例、測(cè)試數(shù)據(jù)、測(cè)試環(huán)境、性能測(cè)試和測(cè)試維護(hù)等多個(gè)因素,通過(guò)不斷優(yōu)化和升級(jí),提高測(cè)試效率和質(zhì)量。大概可從以下5個(gè)方面來(lái)進(jìn)行入手:
1、對(duì)于非預(yù)計(jì)的彈出對(duì)話框引起的不穩(wěn)定,可以引入“異常場(chǎng)景恢復(fù)模式”來(lái)解決。
2、對(duì)于頁(yè)面控件屬性的細(xì)微變化造成的不穩(wěn)定,可以使用“組合屬性”定位控件,并且可以通過(guò)“模糊匹配技術(shù)”提高定位識(shí)別率。
3、對(duì)于 A/B 測(cè)試帶來(lái)的不穩(wěn)定,需要在測(cè)試用例腳本中做分支處理,并且需要腳本做到正確識(shí)別出不同的分支。
4、對(duì)于隨機(jī)的頁(yè)面延遲造成的不穩(wěn)定,可以引入重試機(jī)制,重試可以是步驟級(jí)別的,也可以是頁(yè)面級(jí)別的,甚至是業(yè)務(wù)流程級(jí)別的。
5、對(duì)于測(cè)試數(shù)據(jù)引起的不穩(wěn)定,我在這里沒(méi)有詳細(xì)展開(kāi),留到后續(xù)的測(cè)試數(shù)據(jù)準(zhǔn)備系列文章中做專門介紹。
六、優(yōu)雅的自動(dòng)化測(cè)試報(bào)告
早期基于視頻的 GUI 測(cè)試報(bào)告由于體積較大,而且不能比較方便地和日志適配,所以并不是最好的解決方案。理想的 GUI 測(cè)試報(bào)告應(yīng)該是由一系列按時(shí)間順序的屏幕截圖組成,并且可以在這些截圖上高亮你所操作的元素,同時(shí)按照?qǐng)?zhí)行時(shí)序配有相關(guān)操作步驟的詳細(xì)描述。
商業(yè) GUI 自動(dòng)化測(cè)試框架的 GUI 測(cè)試報(bào)告已經(jīng)做得非常成熟,通常不需要做額外的定制或者開(kāi)發(fā)。
但是開(kāi)源 GUI 自動(dòng)化測(cè)試框架的 GUI 測(cè)試報(bào)告往往需要自己來(lái)開(kāi)發(fā),主要使用了擴(kuò)展 Selenium 原本的操作函數(shù)的方式以及 Hook 函數(shù)來(lái)實(shí)現(xiàn)。
開(kāi)源 GUI 測(cè)試框架的測(cè)試報(bào)告實(shí)現(xiàn)思路
但是,如果你使用的是開(kāi)源軟件,比如 Selenium WebDriver,那就需要自己去實(shí)現(xiàn)截圖以及高亮顯示操作元素的功能。實(shí)現(xiàn)的思路通常是:利用 Selenium WebDriver 的 screenshot 函數(shù)在一些特定的時(shí)機(jī)(比如,頁(yè)面發(fā)生跳轉(zhuǎn)時(shí),在頁(yè)面上操作某個(gè)控件時(shí),或者是測(cè)試失敗時(shí),等等)完成界面截圖功能。
具體到代碼實(shí)現(xiàn),通常有兩種方式:1、擴(kuò)展 Selenium 原本的操作函數(shù);2、在相關(guān)的 Hook 操作中調(diào)用 screenshot 函數(shù)。
第一,擴(kuò)展 Selenium 原本的操作函數(shù)實(shí)現(xiàn)截圖以及高亮顯示操作元素的功能
既然 Selenium 原生的 click 操作函數(shù)并不具備截圖以及高亮顯示操作元素的功能,那我們就來(lái)實(shí)現(xiàn)一個(gè)自己 click 函數(shù)。當(dāng)自己實(shí)現(xiàn)的 click 函數(shù)被調(diào)用時(shí):
首先,用 Javascript 代碼高亮顯示被操作的元素,高亮的實(shí)現(xiàn)方式就是利用 JavaScript 在對(duì)象的邊框上渲染一個(gè) 5-8 個(gè)像素的邊緣;
然后,調(diào)用 screenshot 函數(shù)完成點(diǎn)擊前的截圖;
最后,調(diào)用 Selenium 原生的 click 函數(shù)完成真正的點(diǎn)擊操作。
那么,以后凡是需要調(diào)用 click 函數(shù)時(shí),都直接調(diào)用這個(gè)自己封裝的 click 函數(shù),直接得到高亮了被操作對(duì)象的界面截圖。
第二,在相關(guān)的 Hook 操作中調(diào)用 screenshot 函數(shù)實(shí)現(xiàn)截圖以及高亮顯示操作元素的功能
其實(shí)使用 Hook 的方法比較簡(jiǎn)單和直觀,但是你首先要理解什么是 Hook。
Hook 中文的意思是“鉤子”,直接通過(guò)定義介紹什么是“鉤子”會(huì)有些難以理解,那么我就通過(guò)一個(gè)實(shí)例來(lái)跟你解釋一下。當(dāng)執(zhí)行某個(gè)函數(shù) F 時(shí),系統(tǒng)會(huì)在執(zhí)行函數(shù) F 前先隱式執(zhí)行一個(gè)空實(shí)現(xiàn)的函數(shù),那么當(dāng)你需要做一些擴(kuò)展或者攔截時(shí),就可以在這個(gè)空實(shí)現(xiàn)的函數(shù)中加入自定義的操作了。那么這個(gè)空實(shí)現(xiàn)的函數(shù)就是所謂的 Hook 函數(shù)。
第三是全球化 GUI 測(cè)試報(bào)告的創(chuàng)新設(shè)計(jì)
所謂全球化測(cè)試是指,同一個(gè)業(yè)務(wù)在全球各個(gè)國(guó)家都有自己網(wǎng)站。比如,一些大型全球化電商企業(yè)在很多國(guó)家都有自己的站點(diǎn),那么對(duì)這些站點(diǎn)的測(cè)試除了要關(guān)注基本的功能,以及各個(gè)國(guó)家特有的功能外,還要去驗(yàn)證界面布局以及翻譯在上下文環(huán)境中是否合適。
早期的做法是,雇傭當(dāng)?shù)氐臏y(cè)試工程師,由他們手工執(zhí)行主要的業(yè)務(wù)場(chǎng)景測(cè)試,并驗(yàn)證相關(guān)的頁(yè)面布局,以及翻譯內(nèi)容與上下文中的匹配度。在當(dāng)?shù)貙iT雇傭的這些測(cè)試工程師,被稱為 LQA。
顯然,聘請(qǐng) LQA 的效率非常低,主要原因是:全部測(cè)試工作都由 LQA 在項(xiàng)目后期手工執(zhí)行,執(zhí)行前還需要對(duì)他們進(jìn)行業(yè)務(wù)培訓(xùn);同時(shí),我們需要準(zhǔn)備非常詳盡的測(cè)試用例文檔,LQA 也要花很大的精力去截圖并完成最終的測(cè)試報(bào)告。為了解決這種低效的模式,最好的解決方法就是:利用 GUI 自動(dòng)化測(cè)試工具生成完整的測(cè)試執(zhí)行過(guò)程的截圖。
這樣,LQA 就不再需要去手工執(zhí)行測(cè)試用例了,而是直接分析測(cè)試報(bào)告中業(yè)務(wù)操作過(guò)程中 GUI 界面截圖就可以了,然后發(fā)現(xiàn)頁(yè)面布局問(wèn)題或者是不恰當(dāng)?shù)姆g問(wèn)題。
這個(gè)方案看起來(lái)已經(jīng)比較完美了,LQA 的工作重點(diǎn)也更清晰了,但這并不是最優(yōu)的方案。因?yàn)檫@些 LQA 在實(shí)際工作中,還會(huì)有以下三個(gè)比較痛苦的地方:
需要經(jīng)常在多個(gè)國(guó)家的測(cè)試報(bào)告之間來(lái)回切換去比較頁(yè)面布局;
需要頻繁切換到美國(guó)網(wǎng)站(也就是主站)的報(bào)告,去比較翻譯內(nèi)容與上下文的匹配度;文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-412087.html
發(fā)現(xiàn)缺陷后,還是需要從 GUI 測(cè)試報(bào)告中復(fù)制截圖,并用圖像軟件標(biāo)注有問(wèn)題的點(diǎn),然后才能打開(kāi)缺陷管理系統(tǒng)遞交缺陷報(bào)告。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-412087.html
到了這里,關(guān)于前端自動(dòng)化測(cè)試之葵花寶典的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!