㈠ 如何有效的開展自動化測試
自動化測試不宜大力投入
不管是自動化測試還是介面測試,都不宜在前期大量投入。當前業務是否適用自動化,哪些框架或者工具更適合,適合做介面自動化還是 UI 的自動化?如何讓自動化達到收益和效果?
這些問題都需要根據團隊和業務具體的情況去嘗試,找到合適的才行。如果前期投入太大,團隊對其期望太高,非常容易在遇到一點挫折的時候對自動化喪失信心。
另外,投入太大,畢竟加大人力或者減少手工測試的投入,會造成測試資源的緊張。在項目時間和成本的壓力下,測試管理者需要頂著巨大的壓力,這本身就很難成功。
可以安排一些技術強或者技術興趣濃厚的成員,在項目允許的情況下減少其手工測試工作量,讓其可以利用部分工作時間和部分業余時間嘗試做自動化,先局部功能嘗試,能夠有效果,在擴大范圍。逐步達到一定的自動化規模。
以介面為主UI為輔
UI 自動化因其運行環境的問題,會導致運行速度慢,對環境依賴過高。同時因程序界面的多變性,導致自動化腳本維護成本大大增加。
介面測試有很多優於 UI 自動化的地方。但是介面測試也自有其短板,對流程性質的測試並不適合用介面自動化來覆蓋。介面自動化更適合覆蓋單一介面功能的檢查。
所以我們可以採用核心業務流程使用 UI 自動化,單一功能使用介面自動化,兩種層面的自動化結合的方式來進行。
不輕談自動化測試平台
目前測試界開始流行起自己開發測試平台(以介面為主)。簡單來說就是模仿常見的介面測試工具,用 Python 或者 Java 寫成了一個 web 版本的。
當然也有其理由,「定製性更強!」但是畢竟是軟體都需要進行測試,花大量精力開發的平台並不穩定,而本身功能和理念上並沒有太多更新。而這樣的一些功能,市面上的絕大部分測試工具都能勝任。
如果是為了提高個人能力,項目時間有空餘,怎麼玩都可以。若是要在實際工作中應用,那麼就有點得不償失了。
自動化測試中,工具的重要性始終是最低的。理念、思維和環境治理才是最重要的。
通過不斷小范圍試錯,找到適合自己團隊的自動化策略才是最重要的。任何技術脫離實際應用都是耍流氓。
㈡ 如何進行軟體測試
測試方法很多,白盒,黑盒和灰盒,最初級的是黑盒測試,也稱功能測試,也就是根據需求、原型和效果圖和所做的系統進行對比,將需求不明的同項目經理確認,超出需求以外的或需求上的功能有的沒有實現的話,可以記錄,然後重現以便開發人員更改這些問題,這個是很多中小型企業比較關心的,性能、壓力、兼容性對手機客戶端的開發較為重要,這些你可以自己問問度娘,我就不一一列舉了,白盒測試,就是對代碼進行修改,以完善功能的實現,灰盒就是白盒加黑盒,此外,現在很多公司還注重自動化測試,這個就要看你使用的自動化測試工具的不同而言了,比如loadrunnner,他是腳本的錄制與回放,monkey是性能測試,這個學習工程是較為龐大的,要想學好軟體測試。
㈢ 如何進行軟體測試
測試裡面的知識學習可以分為以下三個階段來進行(這個階段只是自己的一種個人見解):第一個階段我們必須要讓做測試的人明白測試在整個軟體工程裡面的重要性,了解測試的相關基礎知識,並且在了解這些知識的過程中逐漸挖掘出他對測試的興趣。興趣愛好是很好的從事一項工作的一個重要條件。讓一個對測試絲毫不懂而且不感興趣的人去直接去做測試,你不覺得是在耽誤別人的青春嗎? 第二個階段我們必須對測試的流程的管理工作通過實際的軟體測試有個非常明確的認識。因為很多時候工作都是在團隊相互協調的情況下進行的,所以對於整個軟體開發流程以及開發流程當中的測試流程都需要很熟悉,這樣才可以更好的配合工作。當我們這些都很熟悉並且在工作當中應用很流暢的時候,我們就可以對測試工具進行相對應的學習。誠然,現在很多公司在招聘測試人員的時候總是要求了解自動化測試工具,實際上據了解,很多公司並不能真正用自動化測試。所以不要一進門就想著學習自動化測試工具,很多知識在你了解了其他知識之後學習效果跟用途可能會更好。在了解測試相關流程的同時我們必須擴充我們的其他相關知識,包括對我們的產品的客戶的需求的了解要比開發人員了解更全面,更深入。這樣才能保證我們的流程,我們的測試按照客觀的正確的方向前進,而不至於被開發人員的思想所牽引。呵呵。我喜歡做事主動而不是被動的去執行。 到第三個階段我們可以跟區分專業一樣走自己喜歡的途徑:一方面可以繼續深入提高自己的測試的專業技能並且能夠真正從事自動化測試,成為技術領域裡面的專家。另一方面我們可以慢慢趨於測試管理方面。從一個初級測試工程師晉升到一個高級測試工程師比較快,但是從一個初級測試工程師發展到一個Team Leader所需要的時間相對比較長。而從一個高級測試工程師發展到一個資深測試工程師花費時間更長一點,到達資深測試工程師之後就可以很容易做到測試主管了,以後可以發展到PM。當然從初級測試人員到高級、資深測試人員並不是表述為「曲線發展過程」的,很多時候行業經驗、行業知識的累積等都很重要。而這點只有深入發展的人才會發現其重要性的。很多隨著時間的推移和經驗的增長,一些沉澱下來的東西不是表現在字面上,別人就可以理解並領悟的。所以要有信心的同時我們做事還必須有耐心,羅馬非一日建成。相信明天就要緊緊把握今天。
㈣ 怎樣開始入門學習軟體測試
初級階段
初級階段需要掌握四個方面的內容:
一、軟體測試的基礎知識,編寫測試用例的方法及測試流程
二、掌握禪道、SVN等必要工具,及缺陷定義和測試計劃編寫方法
三、web測試與app測試的方式方法與協議
四、介面測試postman工具的操作使用,前端基礎知識H5及CSS
中級階段
中級階段需要掌握六個方面的內容,從中級開始就是涉及到一些工具的使用
一、QTP自動化工具的環境搭建
二、loadrunner性能工具的環境搭建
三、jmeter性能工具的環境搭建及介面壓力測試
四、jmeter腳本增強,app/web性能測試
五、fiddler抓包工具的操作使用、Jenkins自動化部署工具
六、資料庫MySQL、SQL語句
高級階段
高級階段逆序喲啊具備一些分析和洞察力,如下:
一、業務分析能力
1.分析整體業務流程
不了解整個公司的業務,根本就沒辦法進行測試
2.分析被測業務數據
了解整個業務裡面所需的數據有哪些?哪些是需要用戶提供的?哪些是自己提供的?有哪些可以是假數據?有哪些必須是真數據?添加數據的時候可以用哪個庫?
明白了整個軟體的資料庫架構,才能知道哪一個數據是從哪一個表裡頭帶出來的,它的邏輯是什麼,有沒有連帶關系。
3.分析被測系統架構
用什麼語言開發的?用的是什麼伺服器?測試它的話需要用什麼樣的環境進行測試?整體的測試環境是什麼樣的?
如果缺少了,需要進行環境搭建,架構搭建。一般去一家新公司之後,架構是搭建好的,了解它即可,熟悉之前的這些老員工們使用什麼樣的架構發表去做的。
4.分析被測業務模塊
整個軟體有哪些模塊,比如說首頁面、注冊頁面、登錄頁面、會員頁面、商品詳情頁面、優惠券頁面等等
明白有多少個模塊需要測試,每個模塊之間的連帶關系,進而怎樣進行人員分工
5.分析測試所需資源
我需要幾台計算機,需要幾部手機,手機需要什麼樣的系統,什麼樣的型號。
比如測一個網站的性能的時候,電腦的配置達不到測試並發5000人的標准,要麼升級電腦的硬體配置,要麼多機聯合,多機聯合時需要幾台電腦,都需要提前籌劃。
6.分析測試完成目標
我的性能目標是什麼樣的?我的功能目標是什麼樣的?我要上線達到的上線標準是什麼樣的?性能目標,比如我要達到並發5000人的時候,CPU佔用率不能高於70%,內存佔用率不能高於60%,響應時間不能超過5秒功能目標,比如整體的業務流程都跑通,所有的分支流程都沒有問題,所有的介面都能夠互相調用,整體的UI界面沒有問題,兼容性沒有問題等
把這些問題都弄清楚,測試的思路會非常的清晰
㈤ 如何做好軟體測試工作
測試和開發一個很大的不同就是,開發要求對某個點有很深入的研究,對於測試來說,更多的是廣度方面的提升。拿互聯網測試人員來說,有些知識是必須的,比如說最基本的cookie/cache/session,還有SEO,網站上的廣告植入等等,並不一定說你要各個點都要精通,最起碼你要有基本的了解。
還有就是domain knowledge了。我們最近招了很多新人,人員流動也比較大,這個時候往往就會有很大的risk,這個時候其實對於測試人員來說,是一個挑戰,也是一個機遇。挑戰的是,怎樣確保新人做的東西,不會破壞以前的功能。與此同時,這也是你展示測試的重要性的一個機遇。
其實任何職業的人,一般都會有危機感,其實這也是一件好事,說明你是積極向上的。不管測試也罷,其他職業也罷,把事情做到極致,是很重要的一個職業素養。我覺得我做的很成功的一個點,就是產品經理任何時候,在proction上發現了一個問題,都會讓我去做一下investigation。這個時候,其實我們能做的事很多,簡單的處理就是,告訴他這是個bug,然後註明bug讓開發去研究解決。而我,會做的稍微多一點,比如說把原始的feature ticket是怎樣的貼上去,可能的原因會是什麼,怎樣能夠復現等等。時間久了,就會贏得別人對你的尊重。
㈥ 如果你是軟體測試工程師,日常工作中是如何進行軟體測試的
你說得太對了,測試和理論的確關系不大,對於測試,是針對開發產品的,一個產品開發出來,就會針對其特性設計很多的測試用例,這些測試用例是設計人員根據產品特點和程序的特性而產生的,有時程序更新也會設計對應的用例,我們測試人員要做的就是按照測試用例來進行測試,如果沒有問題的話,就寫對應的測試報告,一般一個報告就針對一個BUG。報告完成,那個這個用例就pass了!至於管理的話,那麼就用BugTracker了,目前我們公司用的是這個。希望能夠幫到你。
㈦ 怎樣做好軟體測試
首先我們需要了解軟體的測試要求,同時學會如何更好的學習。更為詳細:
1.需要技術知識和深奧的分析能力創建極其復雜的測試。每個軟體都有不同的特性。我們需要依靠專業的技術知識和深奧的分析能力去解決復雜的軟體運算問題。並做好測試。
簡而言之。做好軟體測試並不是那麼容易,需要有專業的技術,也需要足夠強的分析能力,還要有強學習能力去解決問題。同時還要懂得如何打破常規。才能更好的做好軟體測試。