① 怎樣做好軟體測試
首先我們需要了解軟體的測試要求,同時學會如何更好的學習。更為詳細:
1.需要技術知識和深奧的分析能力創建極其復雜的測試。每個軟體都有不同的特性。我們需要依靠專業的技術知識和深奧的分析能力去解決復雜的軟體運算問題。並做好測試。
簡而言之。做好軟體測試並不是那麼容易,需要有專業的技術,也需要足夠強的分析能力,還要有強學習能力去解決問題。同時還要懂得如何打破常規。才能更好的做好軟體測試。
② 軟體測試人員到底該如何提高自己的能力
在軟體測試中再次迷茫! 最近隨著項目接近尾聲,一個個CREW都陸續exit了,我們的工作量也越來越小了。以前總是抱怨工作量太大,沒有時間學自己的東西,沒有時間去提高自己。可如今,時間有了卻不能靜下心來認真地學,更痛苦的是面對如此多的測試方面的資料,卻不知該從哪兒開始。再次陷入了迷茫之中。以前就聽說,測試會使人懶散,沒想到如今自己也變為了懶散之人。從內心裡說,我很喜歡寫代碼,盡管寫的代碼質量不高,可我就是喜歡,似乎只有寫代碼才能讓我完全集中精神,甚至可以讓我忘記時間。我不知道這是否說明我真的就適合做開發而不是測試。但是考慮到做開發需要掌握很多很深層次的知識,而我掌握的都是一些很膚淺的東西,而且遇到難題解決問題的能力還不夠強,所以感覺不適合干開發。最初是打算干幾年開發,然後轉測試,去年換工作時當有SDET的工作給我時,我考慮了一下,最終還是選擇了走測試這條路,只是最初還信以為真,以為SDET真的是也會做點開發,可實際上完全就是STE。開始干這行轉眼已經半年多了,一直以來都在努力讓自己喜歡上測試這行,可這么長時間了,似乎學到的東西及其有限。考慮到自己還是喜歡寫代碼,而如今又已經步入了測試這個行業,所以想結合二者,打算往白盒測試方面發展。也不知道我的考慮是否合理。看到網站上的測試方面的東西,太泛太雜,面對如此之多的測試資料,可我不知從哪兒開始,真的很迷茫!我到底該怎麼辦?難道真的就這樣在這里得過且過,虛度時光?時間已經不容我這么虛度了!以上是我的一個朋友發給我的一個他的個人感受,我覺得軟體測試不是這樣的,它應該是這樣的。 為了更好地服務於客戶和規避操作風險,近年來軟體測試工作越來越受到重視。盡管軟體測試的作用與傳統工業的產品質量檢驗目標一致,但自上世紀60年代以來,軟體測試理論在整個IT中發展相對緩慢。軟體測試工具盡管在管理能力、易用性方面有了很大提高,在實際應用中仍舊不能從根本上提高軟體測試生產率。 在對軟體測試的要求和期望越來越高,而軟體測試的方法和工具沒有長足發展的情況下,全面提升測試團隊和測試人員的能力,就成為了進行有效測試並盡可能提高測試效率的重要基礎。 一、關於能力的淺析 測試團隊的能力由個人能力和團隊能力兩個方面構成,兩者相輔相成。為了有效提高能力,首先對個人能力和團隊能力進行一些淺顯的分析。 1.個人能力 (1)個人能力的概念 中國大網路全書《心理學分冊》說,能力是「作為掌握和運用知識技能的條件並決定活動效率的一種個性心理特徵」。通俗地說,我們可以認為個人能力是達到優異績效所需的知識、技能和素質的組合,這里的素質包含了大網路全書所說的個性心理特徵,是比較難以量化衡量的。 (2)個人能力培養現狀淺析 ●對知識的培訓 軟體測試工作來說,所需專業知識可分為基礎工作知識和專門工作知識兩類。基礎工作知識包括軟體測試的基本技術和方法、軟體測試的文檔規范等在專業內通用的知識,一般可使用專門教材進行培訓。這些培訓可以由內部專家完成,也可以由外部專家完成。相對來說,學習的成果也比較容易客觀衡量。 專門工作知識是在更小的范圍、特定的時間內適用的知識。很多知識往往是處於經驗的積累階段,且具有時效性。例如對於開發中的應用系統的認識和了解,在目前業界文檔編制、評審和版本管理的狀況下,一般只能通過「師父帶進門,修行在個人」的方法進行培訓。在這樣的情況下,如果測試人員有比較深厚的IT和業務經驗,將縮短專門工作知識培訓的周期,提高培訓的效率。如果測試人員是新學生,則培訓的難度較大。 ●對技能的培訓 技能在很多場合也被稱為「動手能力」,對於軟體測試來說,技能的培訓也很復雜。對於原來具有業務背景和軟體開發、維護背景的人員來說,在軟體測試工作中,肯定會優先使用已經掌握的技能,這樣能夠使得測試工作比較快地上手。了解業務、了解技術實際上是對被測對象不同角度的了解,是軟體測試技能的重要組成部分,只有結合了專業的軟體測試技能,才能夠實現全面、協調、可持續的軟體測試效果。僅僅從技術和業務角度進行測試,則往往在測試的徹底性、測試的效率和回歸測試等等方面難以達到銀行業軟體測試發展的要求。 根據目前我國IT人員和金融財會人員學歷教育情況,本科生的技能與銀行業軟體測試的實際需要相比顯薄弱。研究生在學歷教育期間會有不同程度的培訓,但是由於我國銀行IT系統及其使用狀況的復雜與龐大,學生較少有機會在類似的環境中接受相應技能的培訓。 以往對技能的培訓,往往與專業工作知識培訓採取相同的做法。很多情況下,專業工作知識與技能的培訓是交織在一起的。實際上,很多人是通過自己的領悟了解到了工作的方法,但也形成了對於技能只能意會、不能言傳的狀況。 ●對素質的培訓 素質可以通過多個方面展現,例如演繹思維、歸納思維、進取精神、人才培養意識和能力、靈活性、主動性、人際理解能力、人際影響能力、合作能力等。歸根到底,就是一個人的世界觀、價值觀和處事哲學、基本習慣在各個方面的展現。實際上,素質對於高質量地完成軟體測試工作,往往比知識和技能占據了更重要的位置。
③ 如何提高軟體測試質量
作為評價產品性能的重要手段,性能測試在軟體測試工作中占的比重一直很大,要最終提供一份准確,權威的測試報告,測試人員的努力工作自然不可或缺,但更重要的是測試人員清晰的工作思路,簡潔的測試流程和良好的測
試方法。
目前性能測試存在的問題
總結以往進行的性能測試,雖然測試人員自始至終對測試工作都做到了認真負責,但測試報告出爐後,大家總覺得美中不足,對測試結果都心存疑慮,尤其在那些時間跨度較長、針對不同的測試對象的性能對比測試中,或多或少
都存在以下幾個方面的問題:
1. 測試准備不充分,測試目標不明確,測試計劃不詳細;
2. 缺乏測試以及針對測試對象的技術儲備;
3. 測試環境的穩定性及前後一致性不足;
4. 測試數據精確性和代表性不足;
5. 測試描述不精練;
下面,我們就剖析以上問題的同時,探討一下如何解決這些問題。
性能測試准備
這是一個經常被測試人員忽略的環節,在接到測壓任務後,基於種種其它因素的考慮,測試人員往往急於進度,立即投入到具體的測試工作去了,測試、記錄、分析,忙的不亦樂乎,工作進行了一半才發現,或是硬體配置不符合要求,或是網路環境不理想,甚至軟體版本不對,一時弄得騎虎難下,這都是沒有做好測試准備惹的禍。那麼我們應該如何做好性能測試的准備工作呢?
做軟體項目有需求調查、需要分析,我們做測試也一樣。在拿到測試任務後,我們首要的任務就是分析測試任務,在開始測試前,我們至少要弄清以下幾個問題:
a) 要測試什麼或測試的對象是誰?
b) 要測試什麼問題或我們想要弄清楚或是論證的問題?
c) 哪些因素會影響測試結果?
d) 需要怎樣的測試環境?
e) 應該怎樣測試?
只有在認真調查測試需求和仔細分析測試任務後,才有可能弄清以上一系例的問題,只有對測試任務非常清楚,測試目標極其明確的前提下,我們才可能制定出切實可行的測試計劃
④ 淺析如何提升軟體測試質量
摘要:隨著軟體測試受關注程度越來越高,如何採用技術手段有效提高軟體測試質量就成了軟體測試領域的一個重要課題。本文從軟體測試的基本概念開始,對如何以軟體測試性設計為中心、合理運用軟體測試技術來提升軟體測試質量提出了自己的看法。 關鍵詞:軟體測試;測試設計;測試質量 軟體產品的質量取決於軟體開發過程,軟體測試作為軟體生存期中的一個重要階段,受重視程度越來越高。軟體測試是保證軟體質量和可靠性的關鍵步驟,也是用來驗證軟體是否能夠完成所期望功能的唯一有效的方法。測試已不僅僅局限於軟體開發中的一個階段,它已開始貫穿整個軟體開發過程,進行測試的時間越早,整個軟體開發成本下降就越多。大量統計表明,軟體測試的工作量往往佔到軟體開發總量的40%以上,在極端的情況下,甚至可能高達軟體工程其它步驟成本總和的三至五倍,其目的是盡可能的提高軟體產品的質量和可靠性。 1、軟體測試相關概念 (1)軟體測試:軟體測試是為了發現錯誤而執行程序的過程。或者說,軟體測試是根據軟體開發各階段的規格說明和程序的內部結構而精心設計出一批測試用例,並利用這些測試用例的運行結果來發現程序錯誤的過程。 (2)軟體測試用例:測試用例實際上是對軟體運行過程中所有可能存在的目標、運動、行動、環境和結果的描述。測試用例是測試組織的最小單位,指對一項特定的軟體產品進行測試任務的描述,體現測試方案、方法、技術和策略。內容包括測試目標、測試環境、輸入數據、測試步驟、預期結果、測試腳本等,並最終形成文檔。 軟體測試的核心是設計和執行測試用例。而測試用例的選擇問題可以看作是從龐大的輸入狀態組合中,搜尋哪些可以發現錯誤的狀態組合。因此需要用抽象的手段來盡量使測試更加有效。 (3)測試用例庫:完整的單元測試很少只執行一個測試用例,開發人員通常都需要編寫多個測試用例才能對某一軟體功能進行比較完整的測試,這些相關的測試用例稱為一個測試用例集。將大量的測試用例收集到測試用例庫中,合理的分類後供測試人員選擇使用,能夠極大地提高軟體問題的發現率。 2、提高測試質量的方法 2.1 採用測試性設計技術 軟體測試是目前用來驗證軟體是否能夠完成所期望的功能的唯一有效的方法。但是在測試的實施過程中,由於種種原因導致測試的難度相當大,甚至出現了無法測試的情形。為了提高軟體的可測試性,我們在軟體設計時應當遵循測試性設計原則,通過改變設計或代碼、為軟體增加專門測試結構等方法來提高軟體的可測試性。 (1)測試驅動設計。這種設計就是直接把軟體需求變成測試代碼。在確定軟體測試性能要求的基礎上優先編寫測試代碼。先寫驗收測試,再寫單元測試,並在開發過程中不斷修正。 (2)每個操作對應一個方法,使方法小型化。使用小型化方法說明和重載帶預設方法參數的方法,使得測試中調用這些方法變的很容易。 (3)顯示與控制分離。把代碼移到GUI視圖的外面,各種GUI動作就能成了模型上的簡單方法調用。這樣,在修改程序功能不會影響視圖,同時通過方法調用測試功能也比間接地測試功能更容易。 (4)對於可能要作為參數的類,做一個介面。用介面說明外部程序組件或在需要時改變介面形成一個空類作為參數傳入。 2.2 選擇合適的測試管理模型 模型是系統功能的形式化或半形式化的表示,支持輸入狀態組合的系統枚舉。基於模型的測試主要考慮系統的功能,可以認為是功能測試的一種。測試模型體現了被測試系統的最本質的功能關系。而且要比系統本身更易於開發和分析。一個可測試的模型要能提供足夠的信息用來產生測試用例。所以可測試的模型必須滿足以下要求: (1)必須是某種測試實現的完全准確的反映,模型必須表示要檢查的所有特徵; (2)是對細節的抽象; (3)可以表示所有事件和所有的動作;⑷可以表示系統的各種狀態,以便由可知的方法來確定已達到或沒有達到什麼狀態。
⑤ 作為一名軟體測試工程師需要提升哪些技能
可以再從以下幾個方面做突破(這里說的是web測試):
1、資料庫方面
2、網路知識:協議,安全方面
3、瀏覽器內核
4、系統知識,linux,unix
5、代碼編寫能力,主要是為測試工具的使用,腳本的維護,代碼的分析,BUG的定位都有很好的幫助。
⑥ 軟體測試人員如何提高自己
不斷學習新的知識和新的技術。
這是軟體測試人員需要掌握的知識和技術金字塔,不斷去提升自身技能儲備,才能時刻保持自身核心競爭力!
⑦ 如何提高軟體測試水平
首當其沖要解決軟體測試隊伍的問題。某著名國際軟體企業的軟體測試人員與軟體開發人員的比率達到了3:5左右,並且在實踐過程已經證明了這種人員結構的合理性。但國內公司顯然一時很難達到,但更重要的是重視程度,在這個基礎上壯大軟體測試隊伍,提高測試人員的素質。
其次是要學習借鑒國外完善的測試機制,包括豐富的軟體測試經驗,強大的測試工具,優秀的測試管理水平。真正解決測試手段落後、測試方法單一和測試工具欠缺的問題,在企業內部形成一個嚴密有效的糾錯系統,使國內的測試工作流程、 技術水平接近國外先進水平,這樣才能提高國內軟體開發與測試的整體管理水平,增加軟體產品的競爭力。
此外,要重視第三方的測試力量。第三方的專業測試企業是靠技術與服務來贏得客戶信任的,也因此更加註重測試方法與質量。對於軟體企業來說,從無到有地去建立測試部門,並完善測試體系,需要較大投入,將研發出來的軟體產品交給實力強勁的第三方專業測試公司,在提高軟體產品的質量問題同時,還節約了產品測試成本。
⑧ 從事軟體測試工作如何提升技術深度
我在TestBird從事自動化測試相關工作多年,可以負責任的告訴你,測試是一個技術性很強的工作。與開發工程師相比,測試工程師需要掌握的技術范疇要廣闊得多,只是在技術深度方面有所不同。
一般來講,測試工程師要掌握系統使用和系統管理方面的技術,包括以下幾方面:
1)各種操作系統安裝、配置和系統管理;
2)各種資料庫管理系統的安裝、配置和系統管理、資料庫的使用(SQL);
3)各種中間件的安裝、配置和管理;
4)計算機網路的配置和系統管理;
5)上述系統的綜合管理和應用,其中最高級別的要算性能測試的性能調優工作,這一般是高級性能測試專家才具備的能力,一般測試工程師和開發工程師都難以企及。
所以資深的高級測試不比開發差,往往比一般開發能力更強。
除了以上一些常用要掌握的,測試工程師還需掌握這些專業的工具和技術。不僅要會使用,而且還要會腳本開發,能夠獨立地完成功能自動化測試或性能測試工作。
中高級測試工程師同樣需要熟悉一兩種編程語言和測試腳本開發。
無論開發還是測試工程師,我們都不可能精通每一項技術,但常用的我們要熟悉,至少能精通一兩種。在實際測試工作中多培養解決技術問題的能力,遇到什麼問題時再加強相關知識的學習,也就是什麼不懂就拿起來學。多去開展一些技術攻關活動,這樣做的事多了,技術能力自然就會大大提高,這也是過技術關的關鍵所在。
⑨ 關於如何提高自己的軟體測試技能
怒答,開發轉測試已5年。
已經5月底了,不知題主是否已如願轉到測試。
如果未轉,勸題主再慎重考慮。
開發轉測試不是問題,很多測試都是開發轉過來的。事實上,我始終認為測試要做得好一定要懂開發才可以。
問題在於但題主轉測試的原因竟然是開發「學得多但不深」,這恕我不能認同。就本人經驗看,測試相對開發才是要求廣度多於深度的。就行業現狀講,大部分測試職位是黑盒測試,絕大部分公司都是一個測試對應多個開發。一般來講,測試對模塊的了解遠不如負責該模塊的開發,而開發對其他模塊的了解又遠不如測試。
要解決「學得多但不深」的問題,竊以為正確的做法應該是自己往深里學。或許題主對Android開發已經很精通了,但對Android系統本身又有多少了解哪?能打造出自己的rom嗎?能進一步提升Android系統的性能和穩定性嗎?
如果題主已轉,建議不要把開發能力丟下,盡量去做性能測試、自動化測試這一類工作。同時心態要保持好,國內絕大部分公司測試是要比開發弱勢的,被開發拖進度陪開發加班用幾個小時測完版本也不是多新鮮的事。
至於導師態度惡劣,只要不是人身攻擊就不是什麼事。漫漫職場路,怎能一路都是好旅伴?
轉自知乎http://www.hu.com/question/23402282
⑩ 如何提高軟體測試效率有技巧
先說如何衡量測試人員的效率,我還是傾向於用測試數據說話,雖然我上一次寫過一篇關於測試人員考核的文章(如何有效的對測試人員進行業績考核?),我提倡全部用數據說話,被n多網友批判,甚至賣燒烤的魚也覺得我的考核辦法太數據化了。即便如此,我還是堅持認為對於測試人員的效率還是用數據說話,當然也有其他的主觀指標。
衡量一個測試人員的效率一般從如下幾個方面:
第一,編寫文檔的速度,主要用在測試前期准備中,編寫測試計劃或者測試用例的速度。這個只能用頁數/小時衡量了。
第二,執行用例的速度*用例執行准確率。在測試執行期間,效率體現在執行速度上,但是還要考慮一個用例執行准確率,有的公司有這項指標,就是在執行過的用例中有一個抽查,看認真執行的准確率。
第三,平均每天提交bug的數量和質量,這個指標應該是加權的,譬如(a級bug權值*數量+b級bug權值*數量+……)/總天數。
第四,被測軟體的總體質量,這個意思很清楚,如果測試時間很短,但是軟體發布之後客戶反饋一堆bug,也不能說測試效率高。所以,軟體發布之後的質量也是一個考評因素。
第五,bug發現的周期,如果測試前期發現bug很少,而大批量的bug留到項目後期才發現,說明前期的效率是有問題的。
那麼如何提升測試效率呢?我按照個人的實踐給出一些建議:
第一,最重要的是測試計劃中任務要細化,並且每一項子任務都要有check。一個不具備執行性的計劃往往是項目delay的最大原因。
第二,合理配置測試資源。在什麼階段作什麼最好,哪些事情提到前面作比較好,哪些事情放到後面比較好,某某任務的前置任務是什麼,都要搞清楚。規劃好的計劃,不至於出現任務a等任務b的窩工現象。
第三,合理使用工具。注意我說的不是自動化測試工具,而是在測試過程中合理使用可以提高效率的小工具,當然在回歸測試中可以使用自動化測試工具。總之,我們的原則是機器自己能做的就讓機器代勞。
第四,引入自動構建,即自動編譯。個人使用心得,很不錯,節省不少時間。
第五,找一款比較好的bug管理工具以及用例管理工具,古人說,公欲善其事,必先利其器,就是這個道理。
第六,提高送測質量,以免bug推來推去,非常影響效率。
其他就不再贅述,希望對大家有點幫助。