通過技術評審,可以盡早地發現工作成果中的缺陷,并幫助開發人員及時消除缺陷,從而有效地提高產品的質量。
過程檢查:屬于質量工程師(QA)的工作范疇,主要檢查軟件項目的“工作過程和工作成果”是否符合已經制定的相關規范。在項目執行過程中,質量保證人員要不斷的按照項目計劃對項目進行有效的監督和檢查。
通過過程檢查,可以找出明顯不符合規范的工作過程或者工作成果,及時糾正開發中的錯誤。
因此,軟件測試只是保證質量的最常用手段,僅僅通過測試是不能夠保證質量的,還要輔以技術評審、過程檢查等手段。
6、測試人員是否需要開發技能?
在很多測試網站的論壇上,這個問題都是津津樂道的熱門話題。而究其根源,主要是因為很多測試人員做不了開發才來做測試,于是其中的很多人便懷著一些“膽怯”心理,與同行反復探討這個問題,期望其他人能夠肯定“即使不會開發也能做好測試”的觀點,以便在心理上得到一些安慰。
是否需要開發技能與測試人員從事的測試工作種類有極大關系,相信很多人都聽過微軟曾經聘用一名家庭主婦來測試Windows操作系統的故事。實際上,如果從事單元測試、集成測試等較接近程序代碼的工作,無疑需要開發技能,這類工作對測試人員開發技能的要求甚至會超過程序員;而從事基本的界面測試、用戶功能測試,不會開發不會有大的影響。
但是,原則上還是建議測試人員最好具備一定的開發能力,而且是開發能力越強越好,開發技能對測試工作可以說是“百利而無一害”,例如可以更容易避免報告重復的缺陷、對缺陷原因進行更準確的定位等等。同時,由于國內多數公司對測試人員沒有分類,要想得到更多的發展機會,也應該學會開發,便于從事各種類型的測試工作,除非只從事那些遠離代碼的測試工作。
此外,掌握一門開發語言后,進行測試的時候可以站在程序開發的角度進行思考,而且知道程序如何編寫,就更容易發現問題。
7、測試的目的是什么?
測試的目的是為了發現盡可能多的缺陷,這個觀念很容易讓人接受,但是卻很難落實到實際工作中,因為測試的目的常常被定位為“證明軟件沒有問題”。軟件質量是否優良在投產后才能有所體現。
正確理解測試的目的十分重要。如果認為測試的目的是為了說明程序中沒有缺陷,那么測試人員就會向這個目標靠攏,因而下意識地設計很多不易暴露錯誤的測試示例,這些測試用例恰恰證明軟件實現了預期功能,這樣的測試是不真實的。成功的測試在于發現了迄今尚未發現的缺陷,測試人員的職責是設計這樣的測試用例——它能有效地揭示潛伏在軟件里的缺陷。
8、一個軟件產品測試結束時沒有發現任何新的缺陷,這樣的軟件質量一定好嗎?
測試只能證明缺陷存在,不能證明缺陷不存在。而徹底的、全面的測試又難以成為現實,現實中要考慮時間、費用等限制,不允許無休止地測試。通常的測試結束,只是滿足一定條件下的測試結束,最后的“測試”還是交給了用戶。
因此,即使測試結束了,質量也不一定好。例如測試小組在時間緊迫的情況下,只測試了核心模塊,這樣的軟件系統質量一般不會好。
9、測試中的80-20原則是什么?
測試中的80-20原則是說一般情況下,在分析、設計、實現階段的復審和測試工作能夠發現和避免80%的Bug,而系統測試又能找出其余Bug中的80%,最后的5%的Bug可能只有在用戶的大范圍、長時間使用后才會暴露出來。因為測試只能夠保證盡可能多地發現錯誤,無法保證能夠發現所有的錯誤。還有就是一般情況下80%的缺陷聚集在20%的關鍵核心業務模塊中。
10、 測試到Zero-bug是測試工作的目標和原則嗎?
通常對于相對復雜的產品或系統來說,Zero-bug是一種理想,Good-enough是我們的原則。
Good-enough原則就是一種權衡投入/產出比的原則:不充分的測試是不負責任的;過分的測試是一種資源的浪費,同樣也是一種不負責任的表現。執行測試工作的關鍵在于:如何界定什么樣的測試是不充分的,什么樣的測試是過分的。解決這一問題的通常方法是制定最低測試通過標準和測試內容,然后具體問題具體分析。
11、 通常測試工作要達到什么目標?
通常情況下,測試至少要達到下列目標:
(1)確保產品完成了它所承諾或公布的功能。這一目標就是軟件要符合需求,開發出的軟件應該達到所有功能都有明確的書面說明------在某種意義上與ISO9001是同一種思想,測試的首要目的就是保證所有預定功能是存在并且經過規范的測試。
當然書面文檔的不健全甚至不正確會導致測試效率低下、測試目標不明確和測試范圍不充分,進而導致最終測試的作用不能充分發揮、測試效果不理想。因此具體問題一定要具體分析,一個好的測試負責人盡量來彌補這些文檔缺陷。
(2)確保產品滿足性能和效率的要求,F在的用戶對軟件的性能方面的要求越來越高,使用起來系統運行效率低(性能低)、或用戶界面不友好、用戶操作不方便(效率低)的產品市場空間肯定會越來越小。因此通過測試改善性能也是測試工作一個目標。
實際上用戶最關心的不是軟件的技術有多先進、功能有多強大,而是能從這些技術、這些功能中得到多少好處。也就是說,用戶關心的是他能從中取出多少,而不是你已經放進去多少。
(3)確保產品是健壯的、適應用戶環境的。健壯性即穩定性,是產品質量的基本要求,尤其對于一個用于事務關鍵或時間關鍵的工作環境中的應用系統。軟件只有穩定的運行,才會不致于中斷用戶的工作,因此通過健壯性測試是軟件測試工作的又一個目標。文章來源于領測軟件測試網 http://www.kjueaiud.com/