軟件測(cè)試最常用的軟件工具 想學(xué)軟件測(cè)試,大家推薦哪款工具?
想學(xué)軟件測(cè)試,大家推薦哪款工具?我知道你要學(xué)習(xí)什么樣的軟件測(cè)試工具,但是根據(jù)目前軟件測(cè)試的發(fā)展趨勢(shì),HP 的自動(dòng)化測(cè)試工具Loadrunn軟件測(cè)試工具都有哪些?想知道學(xué)習(xí)軟件測(cè)試必須知道的自動(dòng)化工具
想學(xué)軟件測(cè)試,大家推薦哪款工具?
我知道你要學(xué)習(xí)什么樣的軟件測(cè)試工具,但是根據(jù)目前軟件測(cè)試的發(fā)展趨勢(shì),HP 的自動(dòng)化測(cè)試工具Loadrunn
軟件測(cè)試工具都有哪些?
想知道學(xué)習(xí)軟件測(cè)試必須知道的自動(dòng)化工具有哪些?
持續(xù)集成服務(wù)
過去十年軟件開發(fā)領(lǐng)域自動(dòng)化最大的變化之一就是任務(wù)自動(dòng)化。在過去,構(gòu)建應(yīng)用程序的特殊版本、創(chuàng)建文檔或更新錯(cuò)誤報(bào)告的狀態(tài)都是人為的。有些團(tuán)隊(duì)甚至貢獻(xiàn)了負(fù)責(zé)啟動(dòng)一個(gè)版本的創(chuàng)建者的責(zé)任。諸如此類的人工任務(wù)(或與個(gè)人或機(jī)器緊密相關(guān)的任務(wù))非常耗時(shí),并且是為了避免瓶頸而創(chuàng)建的,比如創(chuàng)建者占用了一天的私人時(shí)間,阻止了新版本的完成。
幸運(yùn)的是,通過允許任務(wù)標(biāo)準(zhǔn)化和自動(dòng)化,持續(xù)集成(CI)工具得以保存。持續(xù)集成服務(wù)對(duì)于安排和執(zhí)行任務(wù)非常重要,這些任務(wù)是普通桌面計(jì)算機(jī)可以完成的,并且讓這些任務(wù)在目標(biāo)計(jì)算機(jī)上執(zhí)行,而不是在目標(biāo)計(jì)算機(jī)上執(zhí)行?;氐絼?chuàng)建版本的示例,不是讓Bob負(fù)責(zé)在他的機(jī)器上手動(dòng)創(chuàng)建版本,而是可以集成持續(xù)集成服務(wù)來選擇目標(biāo)機(jī)器并在該機(jī)器上執(zhí)行該版本。Bob不僅不需要親自出現(xiàn)在那個(gè)版本機(jī)器上,而且他還可以在任何時(shí)候創(chuàng)建一個(gè)版本,無論是按計(jì)劃還是響應(yīng)另一個(gè)動(dòng)作。
例如,測(cè)試人員Alice可能想要一個(gè)基于最新更改的應(yīng)用程序版本,以查看程序錯(cuò)誤是否已被修復(fù),她可以自己?jiǎn)?dòng)版本創(chuàng)建。這不僅使資源能夠自由地執(zhí)行代表性的任務(wù),而且給予團(tuán)隊(duì)在個(gè)人和團(tuán)隊(duì)過程之外更多的控制。還可以將持續(xù)集成任務(wù)綁定在一起,將一些任務(wù)交給更深層次的線程。學(xué)習(xí)持續(xù)集成如何工作是對(duì)自動(dòng)化的一個(gè)很好的介紹,不需要太強(qiáng)調(diào)編程。
使用持續(xù)集成的一種是運(yùn)行端到端的測(cè)試套件。這些測(cè)試通常需要運(yùn)行幾分鐘甚至幾小時(shí)。我使用持續(xù)集成來加速和減速測(cè)試機(jī)器,并在那些測(cè)試機(jī)器上啟動(dòng)測(cè)試。與在您自己的機(jī)器上運(yùn)行這些測(cè)試相比,這是一個(gè)很大的幫助,因?yàn)樗试S測(cè)試開發(fā)人員在測(cè)試運(yùn)行時(shí)做其他工作。持續(xù)集成的服務(wù)器控制所有這些任務(wù)。方面。
持續(xù)集成服務(wù)的一些常見示例是開源工具Jenkins、基于云的Travis CI和專有工具Bamboo,但這些是其他的。更低級(jí)的技術(shù)是使用像克隆或windows任務(wù)分配器這樣的工具在單臺(tái)機(jī)器上自動(dòng)執(zhí)行任務(wù)。
CI獨(dú)立于開發(fā)軟件的愛好之外的編程,是測(cè)試真正能增值的地方。
現(xiàn)代源代碼管理
我需要首先指出我熱愛源代碼。寫代碼的時(shí)候(或者博客!),它是一個(gè)非常有幫助的而不僅僅是一個(gè)工具。對(duì)于一個(gè)編碼測(cè)試人員來說,就是一個(gè)無腦的人。即使測(cè)試沒有編碼,在測(cè)試軟件時(shí)以現(xiàn)代使用源代碼控制也可能是一個(gè)很大的好處。
我在現(xiàn)代方法中的意思是什么?我的意思是使用源代碼控制來1)集成其他工具,例如CI服務(wù)器或問題,以及2)允許使用良好的團(tuán)隊(duì)過程習(xí)慣,例如基于主干的開發(fā)。良好的源代碼控制允許個(gè)人分析變更并更深入地挖掘軟件工程中正在發(fā)生的事情。
一個(gè)接近源代碼歷史和一些基本知識(shí)的測(cè)試可以詢問應(yīng)用程序中的哪些文件對(duì)它們進(jìn)行了最多的開發(fā)工作?哪個(gè)文件變化最大?哪個(gè)更改的設(shè)置包含導(dǎo)致問題的代碼?等等。這些信息有助于找到一些事件的觸發(fā)節(jié)奏和暗示。
將源代碼與CI集成會(huì)更加強(qiáng)大。問題追蹤器中的事件可以在開發(fā)引起的變更中更新它們的狀態(tài)。測(cè)試人員可以要求在輸入代碼中自動(dòng)發(fā)現(xiàn)必要的需求,比如通過自動(dòng)測(cè)試或者代碼模式需求??梢酝ㄟ^更改代碼來啟動(dòng)構(gòu)建和部署。當(dāng)源碼控制用得好的時(shí)候,這種情況下有很多可能性,這是一個(gè)連續(xù)傳輸后隱含的概念。
例如,我在一個(gè)開源項(xiàng)目中工作,該項(xiàng)目使用基于云的集成服務(wù)來檢查提交者提交的每個(gè)交付。在這個(gè)項(xiàng)目中,所有的自動(dòng)化測(cè)試都被持續(xù)地集成和運(yùn)行,并且所有為表單和格式添加的代碼都被檢查。如果一個(gè)提交導(dǎo)致了一個(gè)錯(cuò)誤的測(cè)試,或者不符合設(shè)定的風(fēng)格指南,那么這個(gè)提交就失敗了,并且暗示著提交者和項(xiàng)目維護(hù)者將會(huì)修改這個(gè)提交。這有助于在項(xiàng)目歷史中以統(tǒng)一的風(fēng)格提供每個(gè)提交,并暗示提交者在添加或更新模塊時(shí)可能會(huì)犯一些小錯(cuò)誤。
源代碼控制中的這些熱點(diǎn)是Git,它是免費(fèi)和開放的代碼,并且圍繞它有一個(gè)健壯的生態(tài)系統(tǒng)。這也是一些其他方面,比如Subversion,Mercurial,微軟Team Foundation。
遙測(cè)和監(jiān)控
這是一個(gè)我不太熟悉的話題,但肯定是測(cè)試人員感興趣的。監(jiān)控是一種方法,通過這種方法,鉤子被放置在應(yīng)用程序中,以將關(guān)于軟件如何被使用的信息發(fā)回給軟件創(chuàng)建者。這可能包括正在使用的后端/服務(wù)器應(yīng)用程序。序列接口功能,以及在哪個(gè)指令中,由用戶接口組成的部分使用和以什么頻率使用,等等。
這個(gè)目標(biāo)不是將特殊的用戶信息發(fā)送回開發(fā)團(tuán)隊(duì),而是關(guān)于應(yīng)用程序正在被使用以及如何被使用的更一般的信息。這提供了最終用戶正在做什么、他們實(shí)際上如何使用應(yīng)用程序以及如何獲得特定屬性的視角。一個(gè)蘭佩是微軟的一個(gè)測(cè)試,曾經(jīng)簡(jiǎn)單地討論過這件事,他通過遙測(cè)和監(jiān)控做了一部分。
類似于最小化資源控制的歷史,監(jiān)控可以幫助你從簡(jiǎn)單的問題中找到答案(上周記錄了多少人?)到更具體、更直觀的問題(feature X發(fā)布后,用戶如何改變習(xí)慣?)。這些問題有助于測(cè)試人員實(shí)施更好的測(cè)試策略,并且通常有助于團(tuán)隊(duì)為用戶做出更好的選擇。
更多信息請(qǐng)查看AB測(cè)試播客頁面和布倫特詹森一款主流產(chǎn)品如何使用遙測(cè)技術(shù)?讓 讓我們看看Mozillla是如何通過Firefox使用監(jiān)控技術(shù)的。
也使用硒。
最后,對(duì)于使用web應(yīng)用程序和類似應(yīng)用程序的測(cè)試人員來說,Selenium web Driver是一個(gè)很好的工具。在這一點(diǎn)上,WebDriver是自動(dòng)驅(qū)動(dòng)瀏覽器行為的標(biāo)準(zhǔn)工具,類似于人類用戶在瀏覽器中與網(wǎng)站應(yīng)用程序的交互。它有一些語言綁定,可以與一些主流瀏覽器一起工作,并且是一個(gè)可以作為第一個(gè)組件開發(fā)的可擴(kuò)展API的非常好的例子。簡(jiǎn)而言之,這是一份出色的工作。
當(dāng)靈活使用時(shí),WebDriver允許測(cè)試和開發(fā)自動(dòng)化用戶體驗(yàn)測(cè)試,這可以放入一個(gè)連續(xù)的可交付過程中。我編寫了一個(gè)簡(jiǎn)單的web驅(qū)動(dòng)的測(cè)試,它可以找到像導(dǎo)航到登錄頁面這樣的事務(wù),而不是尋找用戶名和密碼(由于糟糕的部署),或者尋找一個(gè)不包含用戶名和密碼的對(duì)話。;當(dāng)一個(gè)控件被點(diǎn)擊到imagination中時(shí)無法打開(一個(gè)明顯但嚴(yán)重的問題)。這些東西很快就能找到,但是單元測(cè)試無法覆蓋。
WebDriver還可以用來編寫自動(dòng)化測(cè)試,這些測(cè)試可以在本地執(zhí)行,以仔細(xì)檢查不會(huì)以未計(jì)劃的中斷重要功能的更改。這些甚至是WebDriver用于擴(kuò)展功能測(cè)試的用途。
對(duì)于對(duì)學(xué)習(xí)代碼感興趣的測(cè)試,WebDriver可以提供很好的學(xué)習(xí)代碼的入門。自動(dòng)化測(cè)試腳本可能是熟悉編程的一種簡(jiǎn)單方法,而不是深入挖掘代碼語言的空白。它提供了足夠的架構(gòu)來開始,并且仍然能夠做一些好的測(cè)試。
大腦有這些概念,加強(qiáng)測(cè)試的自動(dòng)化,不管你在軟件開發(fā)中的角色是什么。