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