-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
軟件質量保證.測試與評價 版權信息
- ISBN:9787302158271
- 條形碼:9787302158271 ; 978-7-302-15827-1
- 裝幀:暫無
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
軟件質量保證.測試與評價 本書特色
本書以規范和應用為視角,系統的涵蓋了*新的軟件工程的相關標準和規范、軟件質量模型與產品評價、軟件質量保證與過程改進、軟件配置與風險管理、測試過程與測試用例設計、測試自動化與系統性能調優、軟件缺陷管理、軟件估算和度量等內容,為軟件質量保證和軟件測試人員提供了一套實用有效的技術和方法。通過本書的學習,讀者可以有效提高軟件質量保證和軟件測試與評價的實踐能力。
本書作為“十一五”全國工程碩士研究生教育核心教材,并可供從事軟件質量保證、軟件測試、軟件工程管理的技術人員使用,也可作為高校計算機專業師生的參考用書。
軟件質量保證.測試與評價 目錄
1.1 軟件復用技術
1.2 軟件過程改進和能力熟度模型
1.3 軟件測試技術
1.4 軟件評價技術
1.5 軟件質量相關標準
1.6 基于知識復用的軟件測評相關技術
1.7 軟件質量面臨的任務
第2章 軟件質量模型與應用
2.1 軟件質量
2.2 軟件質量標準
2.2.1 外部質量和內部質量模型
2.2.2 使用質量的質量模型
2.3 軟件產品質量模型的應用
2.3.1 使用的建議
2.3.2 質量模型的GBQA應用框架
2.3.3 軟件質量度量的基本基和擴展基
2.3.4 舉例:中間軟件的基本基和擴展基
第3章 軟件生存周期與過程體系
3.1 軟件生存周期模型概念
3.2 過程標準
3.2.1 GB/T 8566《信息技術 軟件生存周期過程》
3.2.2 CMM/CMMI、ISO/IEC 15504和SJ/T 11234與11235標準
3.2.3 ISO 9001和ISO 9000-9標準
3.2.4 CMM與ISO 9000標準體系的比較
第4章 軟件質量保證技術
4.1 文檔編制
4.1.1 文檔編制過程
4.1.2 文檔編制中的考慮因素
4.2 質量保證
4.2.1 質量保證計劃
4.2.2 產品保證
4.2.3 過程保證
4.3 驗證
4.3.1 驗證的過程
4.3.2 驗證的任務
4.4 確認
4.5 聯合評審
4.5.1 項目管理評審
4.5.2 技術評審
4.5.3 評審的方法
4.5.4 評審舉例——項目計劃評審
4.6 審計
4.6.1 審計的對象與分類
4.6.2 審計的過程與方法
4.7 問題解決
4.8 需求變更控制
4.8.1 需求不確定性與解決途徑
4.8.2 需求變更管理過程
4.8.3 需求跟蹤管理
第5章 軟件配置管理
5.1 軟件配置管理概念
5.2 配置控制委員會
5.3 配置管理過程
5.3.1 編制配置管理計劃
5.3.2 配置標識
5.3.3 配置控制——變更控制程序
5.3.4 配置狀態統計
5.3.5 配置評價
5.3.6 發布管理和交付
第6章 風險管理
第7章 軟件測試過程與技術
第8章 軟件測試樣式和測試用例
第9章 軟件驗收和測試
第10章 軟件測試自動化技術
第11章 軟件性能測試技術
第12章 面向應用的測試技術
第13章 軟件缺陷管理技術
第14章 軟件估量計算和度量
第15章 軟件產品評價
第16章 軟件過程改進
附錄A 本書主要參考技術標準
附錄B 本書主要參考文獻
附錄C 相關測試網站
軟件質量保證.測試與評價 節選
br />
軟件質量具有功能性、可靠性、易用性、效率、維護性和可移植性6個特性,可從軟件的
內部質量、外部質量和使用質量三個視角去考量。軟件質量保證就是要求把質量嵌入到軟
件開發的生命周期全過程中,以保證軟件的“生產”質量;軟件測試是軟件質量保證的一個
關鍵手段,又是軟件產品發布前的*終檢驗;對軟件產品質量的評價是以量化的方式說明
軟件質量的程度。因此,軟件質量保證、測試與評價三方面的內容是一個相互關聯的體系。
鑒于此,并在上海實施了“軟件質量專業技術職業資格”的培訓與資格考試專家組的工作基
礎上,由于楊根興教授長期從事軟件質量保證、測試與評價研究和實踐工作,因此,以他為主
編寫此書確可擔當。該書主要特點如下。
1.創新與繼承相結合
軟件質量隨著軟件工程學科的不斷發展而推陳出新,該書內容既論述了行之有效的質
量保證方法和技術,也在實踐經驗基礎上總結出一些重要內容,如風險管理、軟件缺陷管理、
測試用例的復用和面向應用的測試等。
2.規范與整體相結合
通過對GB/T 16260、8566、17544、CMU/SEI CMMI等國家和國際標準的學習和研究,
運用了這些標準中相關概念和過程的規范描述。既具有標準的依從性,又有從軟件質量保
證和軟件測試兩個方面較為深入和詳細地進行了闡述,形成了一個較為完整的體系。
3.技術與管理相結合
軟件質量保證的實踐活動大多需在軟件企業中進行,雖然技術十分重要,而管理也非常
重要。該書內容既論述技術和方法,也闡述了軟件測試管理的內容和方法。在軟件質量保
證中,管理同樣會出效益,也會出質量。
4.理論與實踐相結合 ‘
任何理論的存在,必有其實踐背景。軟件質量從重要性來講,實踐經驗是**位的。該
書從不同的側面反映了我國在軟件質量方面的研究成果和實踐經驗,使之理論和實踐均能
兼顧和融合。
以我畢生研究軟件質量的經驗,軟件質量的保證與測試、評價是一大難題,特別是要提
出一套符合中國文化理念的方法有待時日,尚需不斷努力。因此,我們必須培養更多的軟件
質量保證和軟件測試人才,共同努力,為中國軟件產業的發展作出積極的貢獻。
該書的出版,將會有益于讀者掌握一門重要的技藝,有益于推動軟件質量保證與測試業
的研究、教學、實踐的進一步發展,有益于助推我國軟件業的發展。
來三元
2007年9月于上海
前言
軟件質量問題是一個熱點問題,因為它涉及軟件開發的進度、成本和上市的時間。隨著
計算機硬件成本的急速下降和網絡應用的快速發展,軟件應用的需求呈爆炸趨勢,隨之而來
的軟件質量問題日益突出。正如美國關鍵軟件問題研究的著名專家Capers所指出的:“軟
件對于現代世界是如此重要,尋找降低失敗概率并提高成功概率的途徑,對于所有大型企業
來說都是很有價值的。”
從20世紀90年代至今,一個顯著特點是提高軟件質量、降低開發成本和縮短開發周期
成為軟件業界關注的焦點,軟件過程改進成為軟件工程學科的一個主流方向。
有人問,“為什么我們一直在努力,但軟件質量卻徘徊不前?”可以用聯想集團總裁柳傳
志的話作一個精辟的詮釋:“光說不練是假把式,光練不說是傻把式,又練又說是真把式。”
軟件工程研究產生了豐碩的成果,為每一個軟件組織提供了可以借鑒使用的有效方法,問題
是看人們如何去使用,是真用還是假用。
本書從提高軟件質量的過程改進和測試與評價兩個主要途徑出發,以規范和應用為視
角,討論了軟件過程質量保證、軟件測試與評價的相關技術和方法。集中反映了近年來在
軟件質量保證和測試評價領域技術與方法的*新發展,以作者近年來參與制訂和修改的
GB/T 8566、16260、17544、18905等國家標準為指南,結合作者近年來在軟件質量保證和軟
件測試領域的研究成果和取得的相關經驗,比較系統地介紹了相關技術和有效的方法。全
書分為16章,內容包括:第1章緒論;第2章軟件質量模型與質量屬性;第3章軟件生命
周期與過程體系、第4章軟件質量保證技術、第5章軟件配置管理;第6章軟件風險管理;第
7章軟件測試過程與技術;第8章軟件測試樣式和測試用例;第9章軟件驗收測試;第10章
軟件測試自動化技術;第ll章軟件性能測試;第12章面向應用的測試技術;第13章軟件缺
陷管理技術;第14章軟件估算和度量;第15章軟件產品評價和第16章軟件過程改進。
本書的完成,除了以下說明的之外,均由楊根興執筆完成。本書的合作者,蔡立志博士
(高級工程師)執筆完成了第10、11章和第13章的內容,陳昊鵬博士后執筆完成了第12章。
另外在編寫過程中,馮惠(高級丁程師)和王凌對本書第15章的編寫作出了貢獻,沈備軍、李
婷和李雪靜對本書第3、4、14章的編寫作出了貢獻。楊根興負責了對全書的統稿。
在本書完成之際,特別要感謝我國軟件工程界的前輩朱三元研究員,他嚴謹的治學精神
和淵博的知識,給予了作者全面的指導。
感謝上海市人事局、上海市科學技術委員會和上海市質量技術監督局從2003年起在上
海實施的“軟件質量專業技術職業資格”的培訓與資格考試,以及發布的《上海市軟件質量專
業技術職業資格暫行規定(滬人[2003]106號文)》,為作者提供了積累經驗和實踐的機會。
感謝上海交通大學軟件學院、上海計算機軟件技術開發中心、上海市計算機軟件評測重點實
驗室給予的大力支持。
這是一本實踐性比較強的書。本書的取材來源非常廣泛,除了作者自身的研究成果和
實踐經驗以外,還來自眾多的專家、企業的研究成果和經驗,以及在網站上公開發表的內容。
作者除了對在本書參考文獻中列出的作者表示衷心感謝以外,還要對可能未列出的作者表
示感謝。
關于本書使用的建議:如果作為軟件質量保證課程的使用,可以選擇第1、2、3、4、5、6、
14、15和16章的內容;如果作為軟件測試與驗證課程的使用,可以選擇第1、2、6、7、8、9、
10、11、12和13章的內容。
本書難免存在許多不足和不當之處,希望讀者批評指正。
楊根興
2007年9月
軟件測試自動化技術
軟件測試是一項繁重復雜的工作,測試T作量通常占軟件開發過程總丁作量的40%以
上,一些高可靠性的軟件,測試時間甚至占到總開發時間的60%。軟件巨頭微軟,專業測試
人員是專業開發人員的1.5~2.5倍,測試投入的工作量遠大于開發的工作量。軟件測試,
無論黑盒測試還是白盒測試都具有大量的重復操作,計算機學科發展至今,它*根本的意義
是解決人類手T勞動的復雜性,成為替代人類某些重復性行為模式的*佳工具。代碼的動
態白盒分析,如多線程錯誤檢測、內存泄漏、語句性能分析等,沒有必要也不可能使用手工測
試來進行。同時測試人員的工作比以往任何時候都更加困難,因為公司和組織希望以更快
的速度和更低的成本開發出高質量的應用程序。在使用手工測試的大型項目中,測試團隊
和其他的團隊之間沒有足夠的合作,無法促進彼此的工作。軟件測試的自動化在提高軟件
產品的質量、減少軟件成本和縮短軟件開發周期等方面帶來了非常顯著的效果。
本章將主要介紹軟件測試自動化的概念、自動化測試的特點和使用時機、自動化測試的
原理和技術、自動化測試工具的實現原理等。
10.1 自動化測試概述
軟件測試自動化是相對手丁測試而言的。手工測試是測試人員按照事先確定好的順序
去執行操作。不斷重復的工作繁瑣且成本高,增加勞動強度的同時,測試人員的T作本身也
易產生錯誤。
自動化測試不需要人為的干預來執行一系列的動作。這種方法可幫助消除人為的錯
誤并且可以更快地產生結果。盡管自動化測試在測試過程的初期需要花費比人工測試
更多的時間和精力,但隨著測試的深入,這些付出與其效果相比是非常微小的。因此可
以認為自動化測試實際是通過較少的開銷獲得更徹底的測試,*終為提高軟件產品的質
(5)驗收測試問題報告。
可根據需要對上述文檔及文檔的內容進行增加或裁剪。
9.6非正式驗收測試
事實上,進行驗收測試的常用策略有3種,分別如下:
(1)正式驗收測試;
(2)a測試;
(3)β測試。
本章的9.1~9.5節闡述了正式驗收測試的要求、方法和步驟。本節把α、β測試作為非
正式驗收測試進行介紹。事實上,軟件開發人員不可能完全預見用戶實際使用程序的情況。
例如,用戶可能錯誤地理解命令,或提供一些奇怪的數據組合,也可能對設計者自認為明了
的輸出信息迷惑不解等。
因此,軟件是否真正滿足*終用戶的要求,應由用戶進行一系列的“驗收測試”。一個軟
件產品,可能擁有眾多用戶,不可能由每個用戶驗收,此時可采用稱為α、β測試的過程,以發
現那些似乎只有*終用戶才能發現的問題。
α測試是指在軟件開發組織內部,由用戶代表或內部人員模擬各類用戶對即將交付的
軟件產品(稱為α版本)進行測試,試圖發現錯誤并修正。α測試的關鍵在于盡可能逼真地
模擬實際運行環境和用戶對軟件產品的操作,并盡*大努力涵蓋所有可能的用戶操作方式。
在進行α測試時,有開發人員在場,可以對執行α測試的人員進行指導,協助完成相關的操
作。開發人員應記錄α測試人員提出的問題,并判斷其合理性,然后進行相應的修改或
調整。
經過α測試調整的軟件產品稱為β版本。β測試是指開發組織選擇典型用戶,讓他們
在日常工作中按照使用說明,實際運行使用B版本,并要求用戶報告異常情況,提出改進意
見。然后軟件開發人員再對β版本進行修改和完善。進行p測試時,開發人員不在用戶使
用的現場,因此發現的問題更具有真實性。
大多數情況下,非正式驗收測試是由*終用戶組織執行的,通常稱為系統試運行。與正
式驗收測試相比,可以發現更多由于主觀原因造成的缺陷。軟件的易用性是用戶的一種使
用習慣和感受,只有當用戶使用以后才知道;用戶的業務流程,也只有在用戶使用需求的驅
動下,才能真正得到驗證。這就是為什么人們在執行驗收測試時,必須設計和執行用戶場景
測試的原因。
量提供服務。
10.1.1 自動化測試的概念
自動化測試利用軟件測試下具提供完整的軟件測試流程支持,實現各種測試的自動化。
自動化測試具有可重現性好、效率高、可消除人為錯誤、自動產生測試報告等優點,測試技術
的自動化已經成為軟件測試發展的重要趨勢。
傳統的手工測試具有一些無法克服的缺點,具體如下。
(1)手工測試無法做到覆蓋所有代碼路徑;簡單的功能性測試用例在每一輪測試中都
不能少,而且具有一定的機械性、重復性,下作量往往較大。
(2)許多與時序、死鎖、資源沖突、多線程等有關的錯誤,通過手丁測試很難捕捉到。
(3)進行系統負載、性能測試時,需要模擬大量數據或大量并發用戶等各種應用場合
時,很難通過手工測試來進行。
(4)進行系統可靠性測試時,需要模擬系統運行十年、幾十年的業務量,以驗證系統能
否穩定運行,這也是手工測試無法模擬的。
(5)如果有大量(幾千)的測試用例,需要在短時間內(1天)完成,手工測試幾乎不可能
做到。
相對于手工測試而言,自動化測試具有一些手工測試無法比擬的優點,具體如下。
(1)可以縮短軟件開發測試周期,讓產品更快投放市場。對程序的新版本運行已有的
測試(回歸測試),這是自動化測試*主要的用途,使用在程序的上一個版本上已經運行過了
的自動化測試程序,可以使測試工作快速進行,減小測試的開銷。
(2)測試效率高,充分利用硬件資源;節省人力資源,降低測試成本;將繁瑣的任務自
動化,如重復相同的測試輸入,可以提高準確性,將測試人員解脫出來使其投入更多精力設
計更好的測試用例。并且,還可以利用夜間或周末空閑的計算機執行自動化測試。
(3)增強測試的穩定性和可靠性,提高軟件測試的準確度和精確度,增加軟件信任度;
軟件測試工具使測試工作相對比較容易,且能產生更高質量的測試結果;自動化測試可以
重復多次相同的測試(至少輸人相同,由于時間不同輸出可能不同)。這樣就可以獲得測試
的一致性,這在手T測試中是很難保證的。有些測試可能在不同的硬件配置下執行,使用不
同的操作系統或不同的數據庫,此時要求多平臺產品的跨平臺質量的一致性,這在手工測試
情況下更不可能做到。
(4)手工不能做的事情,自動化測試能做,如負載、性能測試。例如對于多用戶聯機系
統的并發操作的測試,用手丁進行測試幾乎是不可能的,但自動化測試工具可以模擬來自多
個用戶的輸入。而客戶端的測試過程通過自定義得到用戶腳本,自動回放測試。使不了解
整個商業應用復雜內容的技術人員也可以勝任。
- >
姑媽的寶刀
- >
伊索寓言-世界文學名著典藏-全譯本
- >
小考拉的故事-套裝共3冊
- >
唐代進士錄
- >
我從未如此眷戀人間
- >
新文學天穹兩巨星--魯迅與胡適/紅燭學術叢書(紅燭學術叢書)
- >
【精裝繪本】畫給孩子的中國神話
- >
二體千字文