- QTP自動化測試進階
- 陳能技編著
- 1343字
- 2018-12-30 11:16:52
1.2 軟件質(zhì)量與軟件測試
軟件質(zhì)量是軟件產(chǎn)品的核心價值體現(xiàn),也是軟件企業(yè)競爭力的體現(xiàn),重視軟件質(zhì)量的企業(yè)通常能獲得更多的收益。軟件質(zhì)量是軟件項目管理的重要組成部分,在不同的開發(fā)模式中,都會圍繞軟件質(zhì)量管理提出相關(guān)的做法。
1.2.1 軟件質(zhì)量管理在項目管理中的地位
軟件項目的成敗是由成本、進度、質(zhì)量三者共同決定的,缺一不可。無論是哪一種軟件工程的模型,都必須充分考慮這3個方面,并且要考慮如何協(xié)調(diào)這3個方面,使其搭配達到最佳的平衡點。
(1)成本主要考慮項目的開銷,包括人員成本、工具成本、設(shè)備成本、錯誤成本等。所謂錯誤成本是指軟件生產(chǎn)過程中由于缺陷錯誤的產(chǎn)生導(dǎo)致的收回、返工等成本。某些軟件還需要考慮市場營銷成本等。
(2)進度主要考慮時間上的控制。如何在規(guī)定的時間范圍內(nèi),完成一個令顧客滿意的軟件產(chǎn)品,是每個項目的首要挑戰(zhàn)。
(3)質(zhì)量主要考慮軟件對顧客需求的滿足程度。一個低質(zhì)量的軟件,即使生產(chǎn)成本很低,進度控制良好,也不能讓顧客接受。因此,質(zhì)量是軟件產(chǎn)品的生命線。
1.2.2 軟件開發(fā)模式與軟件測試
在不同的軟件開發(fā)模式中,軟件測試的地位和作用略有不同,例如,在傳統(tǒng)的瀑布開發(fā)模型中,軟件測試作為一個獨立的階段出現(xiàn),在進入軟件測試階段之前,應(yīng)該完成編碼,并且提供完善的需求、設(shè)計和開發(fā)文檔。
而在迭代模型中,則不會有一段獨立的測試時間和階段,測試必須跟隨開發(fā)的迭代而迭代。因此,回歸測試的重要性就不言而喻了。
而在敏捷開發(fā)模式中,軟件測試與軟件開發(fā)的界限變得模糊,由于敏捷開發(fā)所推崇的測試驅(qū)動,使得開發(fā)人員開始習(xí)慣于單元測試,在開發(fā)的過程中不斷測試,只有當(dāng)測試完成后才能宣告開發(fā)結(jié)束,因此軟件測試與開發(fā)過程能很緊密地耦合在一起。
提示
不管是哪一種開發(fā)模式,軟件測試是不可能消失的,而且軟件測試作為保證軟件質(zhì)量的重要手段,應(yīng)該得到所有項目成員的重視和參與。
1.2.3 軟件開發(fā)模式與自動化測試
Bob Galen在名為《Sizing up Automation Candidates - Selecting Which Tests, When To Automate Them,and Which To Take Off the Ticket Entirely》的文章中提到 , 采用不同的項目開發(fā)模型對自動化測試有不同的影響。
(1)瀑布模型:瀑布模型在需求定義方面做得很好,這對自動化測試是有益的,包括可以盡早選擇合適的自動化測試策略,讓自動化測試可以高層次、整體地進行計劃。
(2)RUP:RUP強調(diào)的迭代開發(fā)讓自動化測試可以應(yīng)用在開發(fā)周期的很大一部分時間中。但是,也意味著頻繁的變更,自動化測試需要與開發(fā)策略緊密結(jié)合,關(guān)注早期構(gòu)建、迭代的速度、風(fēng)險、覆蓋目標等。
(3)敏捷:敏捷方法打破了傳統(tǒng)的自動化測試方法。第一個破壞點集中在自動化的可接受性測試。這種測試所使用的工具超越了傳統(tǒng)的自動化測試工具的范圍,并且,很難被其他類型的自動化重用。細粒度的迭代讓每次自動化測試難以集中目標和定義標準。
1.2.4 軟件測試能保證軟件質(zhì)量嗎
雖然軟件測試是目前為止發(fā)現(xiàn)缺陷的最有效手段,但是軟件測試能保證質(zhì)量嗎?軟件測試可以在開發(fā)過程中發(fā)現(xiàn)大部分的軟件缺陷,但是,單靠軟件測試是不能保證軟件質(zhì)量的,尤其是在軟件測試的時間沒辦法充分保證、測試資源無法有效提供的情況下,測試人員只能盡量在允許的時間范圍內(nèi)發(fā)現(xiàn)盡可能多的問題。
除了軟件測試,還應(yīng)該通過軟件配置管理、進度控制等項目管理手段來確保軟件研發(fā)的順利、有序開展,結(jié)合軟件需求控制、需求分析、設(shè)計評審、代碼審查等多種形式來保證軟件質(zhì)量。
- 深入淺出數(shù)據(jù)科學(xué):Python編程
- Expert C++
- INSTANT OpenCV Starter
- 零起步玩轉(zhuǎn)掌控板與Mind+
- Java異步編程實戰(zhàn)
- 前端跨界開發(fā)指南:JavaScript工具庫原理解析與實戰(zhàn)
- Photoshop智能手機APP UI設(shè)計之道
- Dependency Injection in .NET Core 2.0
- PhpStorm Cookbook
- Python:Master the Art of Design Patterns
- Python算法從菜鳥到達人
- 精通Linux(第2版)
- Mastering ROS for Robotics Programming
- 深度學(xué)習(xí)原理與PyTorch實戰(zhàn)(第2版)
- 零基礎(chǔ)學(xué)SQL(升級版)