1樓:猴本粟
由此看來每乙個階段的
質量都起著決定性的作用。 以上提及的四個階段的質量將引出以下幾個軟體質量保證的關鍵要素。 完備的需求分析 需求分析的目的是讓專案組明白要做什麼,是決定所開發出來的軟體應當是「長什麼樣的」,顯然完備的需求分析是高質量軟體的前提。
如果所開發出來的軟體與使用者所希望的並不一致,那不可能讓使用者說「這個軟體的質量很好」 。如果方向不對,軟體開發得再「好」也沒有意義。需求分析失誤所帶來的開發成本是高昂的,這一點在《軟體工程》這類書籍中都會提及,因此,整個行業對於需求分析的重要性都具有足夠的認識。
當然,知道其重要性與如何獲得完備的需求分析又是兩回事,至於如何做好需求分析請讀者參考相關書籍。 需求分析如果出現失誤的話有乙個特點—— 它一定會暴露!只不過存在是暴露在軟體開發過程中還是在使用者手中之別。
因此,需求分析所造成的問題儘管嚴重,但它能被發現進而能得到專案組的重視,從而也一定能被修復,只是不同階段發現這類問題所花費的成本將有所不同。 設計 設計階段是通過設計方法找出軟體實現更好的方法,注意這裡是「更好」兩個字,而不是強調最好。 不良設計並不會象需求分析失誤那樣很容易暴露出其本質,相反,它所暴露出的更多是表象,比如邏輯複雜、維護時舉步為艱等等。
如果參與者不具備一定的洞察力以發現隱藏在現象背後的不良設計本質,則很有可能身受其害卻不能自拔,還以為「本來就有那麼複雜」。 專案的開發是乙個逐步演進的過程,專案組成員對於需求的理解也是逐步加深的,一開始合適的設計到後面看來很有可能就不夠全面或顯得力不從心,如果仍沿用以前的設計則自然將暴露出它的不足,進而會出現需要更高的維護成本。重構思想的提出,就是用於幫助專案演進設計的,當然,在運用重構方法時,應盡可能保證專案有足夠的單元測試用例,以預防重構時又引入新的缺陷。
重構不只是乙個詞,其核心應當是乙個方**,乙個用於優化設計的方**。 程式設計好習慣 設計階段輸出的結果就是藍圖,但好的藍圖並不能保證最後的質量一定就好。拿造房子打個比方,圖紙設計得再好,如果建造時用的材料不過關,那最終的房子一定好不了。
那軟體開發中的「建築材料」又是什麼呢?就是程式設計師所編寫的**。如何保證其質量呢?
這需要通過良好的程式設計習慣去保證。 在現實的專案中,設計有可能與編碼會有一定的揉合,即通過進行一定的編碼來輔助設計。這種實踐方式並不影響這裡將設計與編碼分為兩個質量保證關鍵要素。
驗證 驗證很容易讓人想到質量保證的常用方法之一,即測試。但驗證應當包含更多的內涵,比如求證軟體需求是使用者所希望的就是其中的一種。 對於驗證的理解仍需要拿房屋的建造作為乙個比方,以便加深理解。
在房屋的建造過程中,當建築材料到了工地以後,需要對其進行檢驗,以保證它的質量是合格的,否則不能用於建造。對應於軟體開發,這個階段就是單元測試。當軟體工程師編寫了**以後如何保證**的行為是其所希望的呢?
那只能通過單元測試去驗證。房子建造好了以後,還得對房子進行整體的驗收以確保其最終是合格的。比如抽查牆壁所使用的水泥與沙的配比是合適的。
雖然水泥和沙在進入工地時都經過了質檢且是合格的,但在建造的過程中需要按一定的比例混合它們以作建築粘合劑,而混合比例將確定粘合強度。在軟體開發過程中,軟體整合測試就如**子在建造好了以後的驗收。 從上面的比方能得出幾個結論。
第一,在軟體開發過程中單元測試是必不可少的。它的缺少如同將沒有檢驗過的建築材料用於建造一樣。第二,單元測試應當在整合測試之前完成。
有的專案在一開始時並沒有單元測試流程,但後來發現需要增加這個環節,於是出現了整合測試完成了以後,再進行單元測試這種情形。這種情形還是有點怪怪的,這如**子已造好了,再將牆打掉去檢查裡面的磚是否是好的一樣。「將牆打掉檢查磚」這種行為的勇氣雖然可佳,但是如果盡早地在專案中部署單元測試就能避免這種怪現象的發生。
整合(包括開發整合和系統整合)測試在軟體行業被廣泛採用以保證軟體質量,但單元測試對於軟體質量保證的重要性在整個行業還缺乏廣泛的、深刻的認識,其更多地被當作是負擔而不是一種有效的質量保證手段。
怎樣保證測試質量
2樓:匿名使用者
時間過得真的很快,至今我已在軟體行業摸爬滾打了7年了。是該根據自己的經歷好好總結梳理一下,為自己以後的職業發展提供借鑑,為新入行的測試人提供參考。
我剛畢業時在一家央企的財務部做一些財務用的小軟體,當時自己計畫和操作整個的軟體生命週期。通過這個時期的工作我深深的體會到了什麼是終端使用者,乙個軟體做到什麼程度在使用者方才算是乙個合格的軟體產品。使用者對軟體的要求其實很簡單:
用最簡單的操作完成需要實現的功能,對任何的錯誤或不當操作反饋準確易懂的提示資訊。當時最常聽到的一句話就是「我就要你做成這樣就好。」現在回想起來,真的是那樣。
06年我到了杭州,開始從事軟體測試行業,並且一直做的現在。期間做過普通的軟體測試工程師,teamleader,高階測試工程師,現在在一家小軟體公司做測試經理。這麼多年的工作經歷讓我深深意識到,軟體質量保證工作真的是乙個軟體公司中最應該被重視的工作。
因為高質量的軟體是乙個公司發展和壯大的最基本因素。誠然有些公司是準備有一定市場後就要賣出去,有些公司是依靠人脈關係銷售軟體,有些公司因為起步早而在某一行業處於近乎壟斷的地位等等。但是中國現在已經加入wto,外國的很多軟體公司已經進入中國,並且以後還會有更多的公司進入中國市場。
我們可以問問自己:為什麼優秀和一般的同類軟體的銷售**會相差十幾倍至幾十倍?
我認為高質量的軟體產品是乙個軟體團隊所有成員都負責任的完成自己任務以後的必然產物。
首先說說團隊,這其中涉及的需求人員、設計人員、開發人員、測試人員都應該真切的視自己為團隊的必不可少的力量,都應該為了專案或產品的成功竭盡所能的去工作,只有團隊真正的擰成一股繩的時候才具備了產出高質量軟體的基本條件。這是我要說的第一點:團隊認同感、歸屬感。
高質量的需求調研文件是軟體成功必不可少的條件,但是不同的人對同一句話的理解往往會有差異,因為立場不同。所以想要保證需求的質量,需求人員必須把自己置身到使用者的立場去感受、去調研、去理解目標使用者反饋的資訊。對於不確認的資訊要想盡辦法搞清楚。
所以需求調研人員最好是行業專家。需求文件整理出來後,必須經過客戶方代表和公司設計、開發、測試的共同評審才能最終定稿,並最終進入軟體設計流程。這是我要說的第二點:
軟體需求必須用「心」去做,並且監督評審必須到位。
接下來就進入了軟體的生產流程,在設計階段,設計人員是主角,開發人員、測試人員、需求人員要可以及時獲得設計文件。設計人員必須在實現需求的情況下,站在使用者的立場上去設計功能,實現最好的使用者體驗。在設計評審時,開發、測試、需求要從使用者的角度去評判設計,根據需求從使用者的角度去評審設計,這真的很重要。
問題如果能在設計階段就發掘出來會極大的減少資源的浪費,縮短產品或專案週期。這是我要說的第三點:設計要注重使用者體驗,同時監督評審也必須到位。
軟體進入開發測試流程後,實際的開發人員應該站在使用者的角度上去開發每乙個功能,如果有比設計更好的實現方法,應及時和設計、測試、需求人員溝通,共同確認是否更改設計。每乙個功能完成後,必須進行完整的自測,然後及時送測給測試人員,測試人員也要在使用者的角度進行測試,發現問題或建議及時反饋、溝通和處理。還有很重要的一點,測試必須要有測試用例。
測試開始前,測使用例必須經過評審,當然評審粒度根據公司資源確定。這是我要說的第四點:開發是軟體的製造者,測試是軟體質量的保證者,兩者相輔相成,榮辱與共。
高質量的軟體是乙個軟體團隊共同努力的結果,任意乙個環節出問題都可能造成團隊的災難。團隊領導者必須要想辦法、盡全力將自己的團隊凝結在一起,使大家具有團隊榮譽感和使命感。軟體生命週期的各個階段都有工作重點,團隊領導必須把握好。
團隊領導不能輕視任何乙個環節的工作,否則高質量的軟體只能是一句空話。古人說「三人行,必有我師焉」。任何乙個團隊,所有人的力量都發揮出來肯定比所謂幾個精英累死累活搞出來的結果要好。
人們說的「兵熊熊乙個,將熊熊一窩」也是說團隊領導的重要性。
呵呵,總結完了。最後再說一下自己的看法:高質量的軟體是軟體團隊共同努力的結果,使用者體驗是軟體質量很重要的方面,軟體的需求、設計、開發和測試都應該是從使用者的角度出發去工作。
測試人員如何保證軟體質量
3樓:琳姐
2. 風險評估:這個能力非常重要,專案的每個階段都可能存在風險:
需求不明確、系統設計或測試設計不完善、**編寫不安全、測試用例不充足、測試人員未完全測試、測試資源不足、回歸工作量估計不當、專案進度安排不妥、其他專案對本專案的影響等等,所以專案過程中要具有高度警惕性,尤其要做到開發和測試善始善終。 3. 缺陷預防:
個人認為做到很好的缺陷預防是需要綜合素質的,如熟練的業務能力,最好能夠熟知各產品間的關聯,如果能夠知道產品實現方法及過程最好不過。能夠及時根據當前其他產品釋出出現的問題**對本專案的影響度並做好相關缺陷分析。 4.
溝通能力:往往測試和開發容易處於對立面,不和諧的團隊對專案的質量必然帶來一定的負面影響,畢竟人的情緒在工作中對工作效率的影響力是非常大的,軟體質量是靠開發測試一起保證的,記得在測試技術交流大會中郭芙老大說過開發人員的測試意識不是天生具有的,當遇到開發人員測試觀念不足時需要測試人員去指導開發人員,提高開發人員的測試意識。不能把開發人員測試意識不足當作產品質量不好的理由,所以在這個過程中溝通能力是乙個很好的體現。
5. 時間管理:會管理時間的人往往離成功更近一步,如何利用時間解決緊急的專案問題、衝突問題、資源安排問題、測試用例的執行的先後順序等講究時間效率方法是保證質量的因素之一。
軟體測試題題目,軟體測試題題目
控制流圖 環形複雜度 v g e n 2 14 11 2 5 匯出獨立路徑 路徑1 1 2 3 5 7 9 10 2 路徑2 1 2 3 4 10 2 路徑3 1 2 3 5 6 10 2 路徑4 1 2 3 5 7 8 10 2 路徑5 1 2 10 設計測試用例 路徑1測試用例 傳入資料 i 2...
怎樣開始入門學習軟體測試,我想學習軟體測試,想知道應該從什麼地方開始
很多自學的同學都會碰到一些問題 1 我該學習什麼?2 學習的話需要學習多深?3 是否能堅持下來?說這三個問題之前先來聊聊軟體測試面試的時候都會問到哪些問題?有針對性的學習和針對性的回答 最近正好總結了以往學生的面試軟體測試崗位的時候所碰到的問題,希望對你有所幫助!雖然我也是做培訓的,但是分享的是純乾...
軟體測試適合女生學習嗎,軟體測試適合女生學嗎?能學會嗎?
實際上軟體測試工程師不分男女,入門門檻不高,只要對軟體測試有興趣都可以學習。而且女性普遍會比男性更細心,更有耐心,溝通能力和包容性更強一些,加上很多企業的研發部門大多都是男性,所以女性成員的加入可以活躍團隊氛圍,並適當平衡團隊中的男女比例。那為什麼目前行業內女性從業者依然偏少呢?根本原因在於女性相比...