淺談軟體品質保證

來源:互聯網
上載者:User

淺談軟體品質保證

宣言:xuanyan356@163.com

 

引言

          當今,越來越多的公司都開始真正重視起軟體品質問題來,那麼軟體究竟如何才能保證軟體品質呢?下面分別從品質屬性、品質目標、人員素質以及公司規範幾個方面進行闡述。

一、品質屬性

         CMM 對品質的定義是:① 一個系統、組件或過程符合特定需求的程度;② 一個系統、組件或過程符合客戶或使用者的要求或期望的程度。

        以上定義比較抽象難懂,我們換個角度而言,那麼一款好的軟體品質究竟有哪些特點呢?或者說我們從哪些方面來評價一款軟體是高品質的好的軟體呢?

        我們評價一款軟體可以從以下一些角度進行:正確性、可靠性、健壯性、美觀性、效能、易用性、相容性、安全性、可移植性、可擴充性等。以下分別闡述:

1. 正確性

        正確性是指軟體按照需求正確執行任務的能力。 正確性也涵蓋了“精確性方面。

         無庸質疑,這是對一款軟體最基本的要求,比如我們通過ATM自動取款機取款時,在輸入1,000時,結果只輸出了800或者輸出了1,200,可想而知這會對銀行和客戶會產生多大的影響。一款軟體滿足不了正確性的要求,再談其他任何方面都沒意義。

2. 可靠性

        可靠性是指在一定的環境下,在給定的時間內,系統能夠正常啟動並執行機率。

         我曾在手機中遇到一個問題:在待機狀態下,手機網路訊號等一切顯示正常,會出現一些無法通訊的情況,電話無法撥打,簡訊不能收發,重新開機後方可恢複正常。想象下如果情人約會,或者緊急救助時遇到這種情況會產生什麼樣的後果。

3.健壯性

         健壯性是指在異常或者不利情況下,軟體能夠正常啟動並執行能力。我們可以用生活中的一個例來說明,當流感出現的時候,在同樣環境下,有些人很容易就生病,而有些人卻任你東南西北風,就是安然無恙。

4.美觀性

        美觀性主要指軟體UI設計的情況,美觀性就是從福士化審美以及心理學角度對軟體提出的一個要求,這個要綜合考慮軟體的使用人群特點等。美觀性包括軟體的顏色搭配,字型使用,排版布局等方面。

5.效能

        效能也就是一個軟體效率問題,也就是軟體特定時間空間環境下系統的響應能力。我們平時在使用手機進行編寫簡訊時,可能有的手機在輸入一個字元後,手機顯示的很緩慢!這就是軟體效能比較差的一個表現。

6.易用性

        顧名思義,易用性是軟體能否滿足客戶容易操作使用程度。易用性也是衡量一款軟體品質好壞的一個重要方面,我們經常會聽到有些人說某些手機太複雜了,不好用,不會用,那我想這樣的軟體並不能真正能稱為好軟體。在開發過程中,如果軟體開發人員一味關注技術而不從使用者使用的角度來考慮那就大錯特錯了。

7.相容性

        相容性指一款軟體和其他不同軟體通訊(或交換資訊)的能力。以前我在做一些藍芽耳機測試的時候,就出現有藍芽耳機和某些手機配對後通過耳機端無法對手機端進行控制的問題,這就造成了和某些手機無法搭配使用,問題比較嚴重。

        在做相容性測試方面,首先要保證所做軟體能和市場上一些知名品牌產品以及市場佔有率比較高的產品的相容。

8.安全性

        安全性是指軟體系統防止被非法入侵的能力。如我們會有聽說某網路系統被駭客入侵導致癱瘓的情況就是一個例子。當然一個系統的安全性既和軟體本身的抗入侵能力有關又和一些相關保護措施有關,如是否有加密、安裝防火牆等。

9.可移植性

         可移植性指的是軟體不經修改或稍加修改就可運行於不同軟硬體環境(CPU、OS和編譯器)的能力,主要體現為代碼的可移植性。

10.可擴充性

         可擴充性反映軟體適應“變化”的能力,如增加新功能等。可擴充性和可移植性一樣,主要都是從開發的角度對軟體提出的要求。

         以上,從一些不同角度來評價一款軟體,當然實際評測過程中還要根據嵌入式、B/S架構、C/S架構等不同特點軟體來有所側重,同時還要結合軟體軟體使用對象、生命週期等來綜合評價。當然,以上各點滿足了也不能就能說明就是一款好軟體了,其他比如可維護性、可複用性、可測試性等也是我們要根據實際情況來考慮的因素。

二、品質目標

         軟體公司生產軟體的最根本目標是為了讓產品贏得市場、贏得顧客,從而擷取利潤。如果企業連生存的能力都沒有了,軟體的品質做的再完美也無用。

         軟體公司開發一款軟體,並不是說品質越高越好。品質越高,成本相對會越高,這樣企業就可能支援不力,無法生存;或者價格很高,客戶無法接受。

          在此並不是說軟體品質並重要,品質很重要!好和壞從來都是相對的。從使用者的角度而言,在能夠正常滿足使用要求的軟體就是好軟體;對企業而言,在軟體生命週期裡,能夠軟體能夠滿足使用者使用,能給自己帶來更多利潤的軟體就是好軟體。

        不同場合對軟體品質的要求是不一樣的,比如我們國家發射神州五號而後神州六號宇宙飛船,這就要求其軟體品質要百分百可靠,不能出哪怕一點點的差錯,相信在不久的將來我們國家在發射載人登月宇宙飛船時,對飛船軟體品質的的重視程度會有過之而無不及。

三、人員素質

        軟體是人做出來的,軟體品質的好壞和開發、測試以及有關管理員都息息相關。在軟體開發方面,我們在此不談,只從測試的角度來談軟體品質保證。

        說品質保證,先問下自己,從事品質保證的人員真的有能力去做好品質保證嗎?

       大學畢業我剛從事工作的時候,是給佳能做傳真機的測試,印象最深的就是他們的QA人員,一款經我們測試後提交的軟體,結果到他們QA人員手裡短短兩三天的時間能夠找出一大堆的問題來,無論是協議層的技術問題還是可靠性問題,他們都能測出。比如機率性問題,他們能夠測到如1/360、3/529的程度,而且有些只有在特定時間點進行某些操作的問題他們也都能測出來。更厲害的是有些問題他們的QA人員還能指導我們開發人員進行解決問題。

         雖然在民族感情上我們都很痛恨小日本,但該向人家學習的地方還是要學習的。

         品質保證的人員能力問題是個重要方面,如果連軟體中潛在問題都發現不了,想解決問題,做高品質的軟體,談何容易?

         測試人員能力是一方面,其他如從事軟體測試人員的職業素養也是個重要方面。如果一款軟體未有充分去測,甚至對有些機率性的問題一笑而過,耐不住性子深入去測,或者在發行版本時只簡單測試一下,這些都無法真正保證軟體的品質。而這種情況下的出現,測試人員根據簡單的測試,下了個軟體沒問題的結論,這樣對顧客而言影響是很大的,最終對公司而言無論形象還是未來產品銷售等方面的都是不利的。

 

四、公司規範

         測試人員的能力再強,測出的問題再多,如果在些問題沒有解決的情況下匆匆將軟體release給客戶,軟體問題一大堆。這樣的測試其實是沒有多大的實際意義的。測試的目的是發現問題,解決問題,保證軟體品質。

         當然這個保證單憑測試人員、QA是不行的,在我們國內,其實很多企業測試人員和QA人員在軟體發行問題上根本沒有發言權,基本上都是公司領導說了算,如果公司領導說“這些問題沒關係,我覺得軟體可以發行”,那這時軟體基本都會發行的。至於所謂的測試、QA以及專案經理等人員,你就一邊吹風去吧。

        所以,在軟體問題評估,軟體發行等問題上一定要給品質保證人員(通常是QA)足夠的權力,QA測評通不過就是通不過!

        可惜目前真正能做到這一步的公司並不多。企業為了生存,也很難把這方面真正做好,比如有些產品趕在某些節假日上市時有著良好的時常,而過了那一段時期,可能產品就很難賣了。當然,這些就不是測試人員考慮的範圍了。

         要真正把軟體品質保證落到實處,開發、測試以及有管管理員的的密切配合,一款軟體在發行前,一定要經過一番嚴格的測試,然後對軟體進行評估才是!

五、過程管理

        過程管理是對公司規範的執行情況。

         一般公司都有一套完整的產品開發流程、規範,流程各個環節執行的情況是能否開發出一款好軟體必要條件。這包括文件管理、版本控制、測試管理等很多方面,在此就不做闡述了。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.