1. 項目如何讓自動化測試工具(AutoRunner)來做軟體測試呢這個工具是怎麼用的
AutoRunner 是自動化的功能測試工具。功能測試的目標是根據 GUI 的界面或者報表來檢查軟體的實際功能是否和需求定義的功能相一致。
autoRunner使用方法 :
1.新建項目
a) 在項目管理器空白區域,右鍵滑鼠,選擇新建項目。
b) 輸入項目名後,點擊[確定],在初次打開autoRunner時選擇的用於存放測試文件的文件夾里會有一個以項目名稱為名的文件夾,各種測試腳本,參數表都存放在這里。
2.新建腳本
a) 在項目名上右鍵滑鼠,選擇新建腳本 。
b) 輸入腳本名(最好是英文和數字),點擊[確定]後,在右邊腳本編輯區域,會打開腳本頁 。
3.錄制腳本
a) 點擊工具欄 ,或者點擊菜單欄 。
b) 點擊開始錄制後, 會彈出對話框 。
根據自己需要,選擇是否記錄擊鍵和記錄時間間隔,選好後點擊[確定]。
c) 點擊[確定]後,開始錄制測試過程,autoRunner會自動最小化,在屏幕右下打開錄制過程記錄窗口,此時,開始測試操作.
4.編輯測試腳本
a) 錄制完成後,在腳本編輯區域會生成本次操作的腳本;
b) 如果需要在腳本中增加循環或者對當前步驟的某個對象的屬性值進行驗證,可以在腳本編輯區域,右鍵滑鼠。
c) 增加驗證 ,在腳本編輯區域空白處右鍵滑鼠,選擇注意游標位置,會在游標處插入代碼。
5.查看對象庫
1) 在工具欄點擊 ,打開對象庫。
2) 這里需要查看,腳本中用到的對象,在對象庫中是否都有,如果缺少,運行腳本時會出錯.對象不足時,可以點擊對象庫左下的[增加對象]按鈕,會像錄制時一樣,此時選擇需要的對象,錄制好以後停止錄制。
6.編輯參數
a) 在控制台標簽頁上點擊[參數表],打開參數表 。
b) 對參數表進行設置。
7.執行腳本
a) 點擊工具欄,或者點擊 菜單欄,開始執行腳本。
b) 執行開始後,autoRunner會自動最小化,程序會完整重復錄制的過程。
運行結束後,在autoRunner控制台會列印出本次腳本執行情況。
2. 軟體測試方法的自動化
自動化測試,英文是Automated Testing。
使用自動化測試工具來進行測試,這類測試一般不需要人干預,通常在GUI、性能等測試和功能測試中用得較多。通過錄制測試腳本,然後執行這個測試腳本來實現測試過程的自動化。國內領先的自動化測試服務提供商是澤眾軟體。自動化測試工具有QTP、Testcomplete、AutoRunner和TAR等。 回歸測試,英文是Regression testing。
回歸測試是指在發生修改之後重新測試先前的測試以保證修改的正確性。理論上,軟體產生新版本,都需要進行回歸測試,驗證以前發現和修復的錯誤是否在新軟體版本上再次出現。
根據修復好了的缺陷再重新進行測試。回歸測試的目的在於驗證以前出現過但已經修復好的缺陷不再重新出現。一般指對某已知修正的缺陷再次圍繞它原來出現時的步驟重新測試。通常確定所需的再測試的范圍時是比較困難的,特別當臨近產品發布日期時。因為為了修正某缺陷時必需更改源代碼,因而就有可能影響這部分源代碼所控制的功能。所以在驗證修好的缺陷時不僅要服從缺陷原來出現時的步驟重新測試,而且還要測試有可能受影響的所有功能。因此應當鼓勵對所有回歸測試用例進行自動化測試。 驗收測試,英文是Acceptance testing。
驗收測試是指系統開發生命周期方法論的一個階段,這時相關的用戶或獨立測試人員根據測試計劃和結果對系統進行測試和接收。它讓系統用戶決定是否接收系統。它是一項確定產品是否能夠滿足合同或用戶所規定需求的測試。
驗收測試一般有三種策略:正式驗收、非正式驗收或Alpha 測試、Beta 測試。
3. 測試中如何使用自動化腳本
從畢業到現在,經歷了軟體開發,
軟體測試,
1)QTP工具。QTP是一個快速測試專業工具。它的優點是可以快速建立企業自動化框架,但不是一個全能的工具,因為利用QTP並不能幫助用戶找出更多的 BUG,只能提高執行測試用例的效率。 QTP的價格也較貴。 QTP主要應用於較穩定的測試項目的回歸測試,UI的變化不明顯,功能較穩定的項目。它可以節省回歸測試的成本,但相對手工測試來說,QTP對測試人員的要求較高,比如要掌握VB腳本,掌握函數調用等技術;另外,建立QTP框架前期需要投入較大的人力寫測試用例,加上調試的時間,是一筆不小的開銷,所以企業在選用QTP測試工具時一定要三思而後行。
2)Loadrunner是一個企業級性能測試工具,應用十分廣泛。對於WEB應用,Loadrunner的優勢十分明顯。但與QTP一樣,lr的 License十分昂貴,所以很多企業都使用破解版。並且真正掌握LR精髓的人員並不多,很多人都會使用這個工具,但能用這個工具找出系統瓶頸的人並不多,所以,會使用Loadrunner和會性能測試是兩碼事。懂腳本語言的性能測試人員當然最好。
3)Python和Tcl/tk腳本語言。在我之前的經驗中,我用到過PYTHON和TCL。他們都是腳本語言,不需要編譯。兩種語言的特點如下:Python開發JAVA方面的http介面比較方便;tcl/tk開發C++方面的介面更容易一些。PYTHON寫的程序可讀性強,TCL寫的程序的可讀性不好。
4)在需要產生一些大批量數據時,如一個表需要插入100萬條數據,然後這100萬條數據屬於100個不同的類別,如果是手工輸入的話,估計10個人一個月都輸不完,但如果利用腳本,如PB,VB或者Tcl/tk,可以通過產生批量SQL腳本的方式,來產生SQL腳本,這樣不到半小時就可以搞定全部的數據。看來腳本的威力不小!
5)另外,就是Linuxshell腳本了,我們通常說「事半功倍」,shell腳本的確可以幫助你實現這個目的。我們平時在LINUX部署一個應用會用到很多的命令如 Checkout,ps,vi,kill等等,如果能把這個操作流程寫成一個SHELL腳本讓機器自動執行,那該是省了多少事?另外,作為 UNIX/LINUX管理員,平時可以要監控較多的PC終端,他完全可以在UNIX/LINUX上定製各種任務(如備份,刪除臨時文件,檢查磁碟空間等等),所以,掌握Shell腳本(如Sed,awk,grep等)對一個測試人員來講是十分必要的!
6)另外一個就SQL腳本了,要能寫存儲過程(SP)和觸發器(Trigger),還有游標(Cursor)的使用,掌握這些的話對於測試資料庫方面的用例是相當有幫助的。SQL腳本對系統性能和功能都起著十分重要的作用。
作為一名有6年測試經驗的工程師,我堅定地認為腳本測試技術是以後的發展方向,包括白盒測試,也是將來的一個發展方向,對於測試人員來講,核心競爭力是能完整的測試開發人員的程序,盡可能找出更多的BUG。黑盒測試只能從系統的角度去完成功能測試,但作為軟體本身,應該作更深層次的測試。
4. Python做軟體自動化測試的入門提問
同在軟體測試崗位。由於同樣初學python,所以沒有太多的實踐經驗。
使用python的單元測試框架,可以建立測試類,構造測試集。
測試類中包含了common的測試方法定義,包括測試開始前建立測試環境的setUp方法和測試完成後清理還原環境的tearDown方法,最好按照約定規則(以test開頭)來命名所有的測試方法。
測試集允許你根據測試策略組合不同的測試用例並實施。
下面兩篇文章推薦看看:
http://www.ibm.com/developerworks/cn/linux/l-pyunit/
http://www.cnblogs.com/coderzh/archive/2010/08/23/custom-python-unittestoutput-as-gtest.html
有一個問題我還沒找到答案,就是如何讓單元測試框架的log輸出到文件(默認輸出到控制台)。
5. 自動化測試是軟體測試的重要手段,自動化測試有什麼優勢和手工測試有什麼不同
自動化測試相對於手工測試優點如下:
1、可以模擬人工測試,減少重復機械的測試工作量,大量用於回歸測試;
2、可以提高測試精度,例如進行大數據量的正確性校驗;
3、進行人工難以執行的測試,例如單元測試、統計測試覆蓋率等等;
4、用於模擬多線程的並發;
5、更好地利用資源。將繁瑣的任務自動化。
6、測試具有一致性和可重復性。
7、測試的復用性。由於自動測試通常採用腳本技術,領測認為這樣就有可能只需要做少量的甚至不做修改,實現在不同的測試過程中使用相同的用例。
8、增加軟體信任度。
6. 軟體自動化測試是幹嘛的
恩,現在很流行的,但是大部分都是跟風而已,工作中有迷茫是好事,說明你在思考,不妨就那麼放著,做好眼前的事,隨著工作的深入,會找到適合自己的結論。
首先,什麼適合做自動化測試
重復性高的測試用例,比如版本更新很快,基本功能驗證的用例,回歸測試等
人力不可達或者極其費力的,比如10000次注冊,點擊,等
自動化測試的方法論
1.測試自動化類似於軟體開發的過程
錄制/回放腳本的開發方式是不可能應付所有自動化測試的需求的,因此,需要測試人員掌握必要的開發知識和編碼知識。
2.測試自動化是一個長期的過程
首先,不能期望自動化測試在短期內找到很多Bug,自動化測試只有在長期的多次運行後磁能體現它的價值。其次,不要認為只要購買了工具,錄制一些腳本,然後就可以安枕無憂的看著自動化測試實現想要的效果,需要考慮自動化測試腳本維護成本,隨著被測試應用程序功能的增加和修改,測試腳本的維護工具量會急劇的增加。
3.確保測試自動化的資源,包括人員和技能
最好有專門的自動化測試工程師來保證測試自動化持續,順利的進行下去,自動化測試工程師需要對項目測試自動化負責,設計測試框架和腳本結構,解決各種測試腳本的開發問題,確保自動化測試得以計劃,設計和有序的開發,維護。
4.循序漸進的開展自動化測試
不要一開始就把自動化設想的很大,這往往是不可實現的,應該從小開始,先熟悉工具和自動化測試的基本技能,然後,整合資源開始實現一些基本的自動化測試用例,例如:冒煙測試類型的自動化測試腳本,先實現那些容易實現的,且相對穩定的功能模塊的自動化測試,然後再考慮逐步擴展和補充其他相對難實現,或者是比較不穩定的功能模塊。
5.確保測試過程的成熟度
如果軟體企業的測試過程和項目管理過程的能力成熟度比較低,則實現自動化測試的成功率也比較低,在開展自動化測試之前,先考察一下軟體企業各方面的管理能力,;例如:測試是否獨立進行?有無配置管理?進度控制能力如何?如果各方面的能力成熟度都比較差的話,則不要盲目的引入測試自動化。
自動化的目標:
自動化測試應該是這樣的:
自動化應該是一種Service(Automation As A Service),所有的測試人員和開發人員都應該可以自己很方便的去跑自動化
自動化測試的運行結果應該是可以自動分析的,佔用很少的時間
自動化測試的成功率應該是要很高的(比如95%以上)
自動化應該是寫一次,運行很多次