自動(dòng)化測(cè)試現(xiàn)在已經(jīng)成為了很多軟件測(cè)試工程師的關(guān)鍵技術(shù),但是問題仍然存在,Test Automation是否以正確的方式完成? 或者更大的問題應(yīng)該是,有沒有正確的方法來進(jìn)行測(cè)試自動(dòng)化? 答案通常取決于......它取決于在測(cè)試下的應(yīng)用程序,環(huán)境,數(shù)據(jù),架構(gòu)和大量其他因素中發(fā)揮的許多不同因素。

自動(dòng)化測(cè)試

對(duì)于任何重大項(xiàng)目或任務(wù),人們確實(shí)需要一個(gè)計(jì)劃或一種策略來實(shí)現(xiàn)自動(dòng)化。 許多人使用象限,金字塔和其他模型作為參考,以便在決定自動(dòng)化方法時(shí)使車輪運(yùn)動(dòng),例如圍繞一些優(yōu)秀模型(包括我自己的自動(dòng)化三角模型)的一些精彩細(xì)節(jié)。

在我10年的測(cè)試自動(dòng)化世界經(jīng)驗(yàn)中,我的觀察和經(jīng)驗(yàn)使我在制定測(cè)試自動(dòng)化戰(zhàn)略時(shí)考慮了一些關(guān)鍵要素。我將在下面討論其中的一些。

0 1

測(cè)試用例的情況 - 測(cè)試管理工具或類似工具

讓我們一路回到起步。無論您是在探索性測(cè)試世界中使用特定的測(cè)試管理工具還是檢查表/思維導(dǎo)圖等,都有一個(gè)潛在的目標(biāo)。目的是為您解決測(cè)試任務(wù)帶來某種規(guī)劃或結(jié)構(gòu) 。

在這個(gè)階段,不管你信不信,這是第一個(gè)需要考慮測(cè)試自動(dòng)化想法的地方。您應(yīng)該在定義測(cè)試用例/方案期間識(shí)別典型的自動(dòng)化候選者。

圍繞測(cè)試管理工具或類似工具的另一個(gè)方面是它為所有人提供的可見性和透明度的關(guān)鍵要素。

測(cè)試自動(dòng)化不應(yīng)孤立地發(fā)生,并且提供完整的透明性,可追溯性和團(tuán)隊(duì)可見性的工具能力越好,與測(cè)試自動(dòng)化工作的相關(guān)性就越高。

永遠(yuǎn)不要低估這個(gè)元素帶來的力量,特別是對(duì)于一個(gè)正在發(fā)展的敏捷世界 - 團(tuán)隊(duì)游戲?qū)θ魏谓M織的成功至關(guān)重要。每個(gè)人都應(yīng)該在您的團(tuán)隊(duì)自動(dòng)化工作在相同層面上思考。這里可以看到在測(cè)試覆蓋范圍,測(cè)試結(jié)果,測(cè)試趨勢(shì)和各種花式自動(dòng)化統(tǒng)計(jì)數(shù)據(jù)的可見性方面。

自動(dòng)化測(cè)試

在某些情況下可能與測(cè)試管理工具相關(guān)的另一點(diǎn)或者可能是像Jenkins或Gitlab這樣的CI / CD支持工具之類的外部工具,能夠批量或在管道中執(zhí)行這些自動(dòng)化測(cè)試/腳本,計(jì)劃或需求。這是從存在于特定機(jī)器上的腳本的舊時(shí)代向前邁出的一步,并且通過在執(zhí)行之前運(yùn)行每個(gè)測(cè)試來執(zhí)行相當(dāng)繁瑣的順序

0 2

自動(dòng)化的地方 - 告訴我在哪里!

自動(dòng)化測(cè)試

關(guān)于自動(dòng)化策略的另一個(gè)關(guān)鍵因素是“Where”和“What”自動(dòng)化。

在某種程度上,上面討論了“什么”自動(dòng)化,在這種情況下自動(dòng)化的“Where”并不是指特定的測(cè)試環(huán)境,而是與應(yīng)用程序?qū)舆M(jìn)行自動(dòng)化。我們是在討論前端或后端的自動(dòng)化,我們是在談?wù)揂PI還是UI,甚至可能是DB。

然后,E2E測(cè)試的問題進(jìn)入,甚至進(jìn)一步發(fā)展到多個(gè)跨系統(tǒng)E2E測(cè)試。正如您所見,自動(dòng)化在做之前需要進(jìn)行大量思考。因此,在決定“在哪里”關(guān)注自動(dòng)化工作之前,通常團(tuán)隊(duì)間和測(cè)試人員的討論至關(guān)重要

0 3

工具選擇 - 明智地選擇

你知道的事情并沒有變得容易

自動(dòng)化測(cè)試

現(xiàn)在我們已經(jīng)知道了“為什么以及在哪里”為自動(dòng)化工作選擇正確的自動(dòng)化工具,這一更加艱巨的任務(wù)變得至關(guān)重要。在某些情況下,公司購(gòu)買已經(jīng)工具,自動(dòng)化現(xiàn)在必須遵守這個(gè)預(yù)先選擇的工具,我在這篇文章中不會(huì)涉及。如果命運(yùn)在測(cè)試人員手中,那么工具的選擇應(yīng)該跨越多個(gè)區(qū)域。關(guān)于工具選擇的一些快速想法如下:

a)技術(shù)工具- >工具可以自動(dòng)化我們的Web應(yīng)用程序嗎?該工具可以自動(dòng)化我們的桌面應(yīng)用嗎?它是否支持API自動(dòng)化?移動(dòng)平臺(tái)怎么樣?

b)工具支持- >是否有幫助提供有關(guān)問題,崩潰或工具維護(hù)的幫助。該工具的新版本多久發(fā)布一次?

c)語言支持- >所選工具支持哪種編碼語言?它是否支持Java和/或Java等多種語言。在招聘和招聘時(shí),這個(gè)問題也變得相關(guān)。

您的生態(tài)系統(tǒng)中可能還有許多其他要點(diǎn)與工具選擇相關(guān),但以上幾點(diǎn)是首要考慮的因素。

0 4

環(huán)境穩(wěn)定 - 保持整潔 clean code

這是一個(gè)經(jīng)常被忽視的領(lǐng)域,但該領(lǐng)域的疏忽或不穩(wěn)定幾乎可以使所有測(cè)試自動(dòng)化工作無效。想想這一點(diǎn),想象一下?lián)碛凶铋W亮,制作精美的新時(shí)代游艇!但是你把它帶到最最崎嶇的水面上航行。這將是一場(chǎng)史詩(shī)般的失??!

如果有穩(wěn)定的環(huán)境,這正是它要的感覺。有關(guān)環(huán)境正常運(yùn)行時(shí)間的問題,依賴性可用性 (無論是本地還是外部)需要在此處解決。這里想到的一個(gè)例子是類似于測(cè)試應(yīng)用程序登錄功能,依賴于谷歌API。如果與外部服務(wù)的連接中斷并且您的測(cè)試依賴于它,那么您的自動(dòng)化測(cè)試就會(huì)變得十分脆弱。

自動(dòng)化測(cè)試

找到解決環(huán)境問題的方法,并在增加自動(dòng)化工作量時(shí)提出使環(huán)境更穩(wěn)定的方法變得至關(guān)重要。

0 5

數(shù)據(jù),數(shù)據(jù)和更多數(shù)據(jù)

自動(dòng)化測(cè)試

數(shù)據(jù)是另一個(gè)對(duì)自動(dòng)化方法至關(guān)重要的概念。

數(shù)據(jù)很復(fù)雜并且可能帶來許多挑戰(zhàn),這主要取決于每種情況下可能存在的眾多排列 。硬編碼自動(dòng)化測(cè)試輸入和變化幾乎是不受歡迎的,因此在許多情況下,因?yàn)橥ㄟ^為每次執(zhí)行提供隨機(jī)數(shù)據(jù),可以極大地增強(qiáng)腳本找到缺陷的能力。通過這種方法,您可以大大增加每個(gè)獨(dú)特?cái)?shù)據(jù)場(chǎng)景中發(fā)現(xiàn)缺陷的可能性。在某種程度上,這可以看作是一種自動(dòng)化探索性測(cè)試的形式,這是一種雙贏的局面。

因此,專注于尋找隨機(jī)生成或獲取不同數(shù)據(jù)輸入組合的方法,以加強(qiáng)您的自動(dòng)化工作,無論是從表格,文件還是API獲取數(shù)據(jù),這絕對(duì)值得研究。這里要考慮的一點(diǎn)是速度方面。讀取這些數(shù)據(jù)會(huì)減慢你的腳本嗎?它會(huì)減慢多少?這些是在考慮如何處理數(shù)據(jù)與覆蓋業(yè)務(wù)時(shí),需要作為一個(gè)團(tuán)隊(duì)性問題進(jìn)行的進(jìn)一步的討論。

結(jié)束

歸根結(jié)底,都是看我們?nèi)绾稳ラ_展,我們必須要牢記自動(dòng)化會(huì)發(fā)生什么。早期自動(dòng)化候選人識(shí)別,可見性,團(tuán)隊(duì)互動(dòng)和總體規(guī)劃是必不可少的基礎(chǔ)。一旦建立起來,就需要解決其他關(guān)鍵因素,如工具選擇,自動(dòng)化水平,數(shù)據(jù)和環(huán)境問題,以使您的自動(dòng)化在您的世界中取得成功。