1、範圍
本標準適用於軟體包。例如文本處理材序、電子表格、資料庫程式、圖形軟體包、技術或科學函式計算程式以及實用程式。
它規定了:
——軟體包要求(質量要求);
——針對這些要求,如何對軟體包進行測試的細則(測試細則,特別是第三方測試)。
它只涉及要提供的或安交付的軟體包,不涉及它們的產生過程(包括活動和中間產品,如規格說明)。供方的質量體系超出了本標準的範圍。
註:某些軟體需要附加的要求,如安全要求高的軟體。
本標準期望的用戶如下:
a)在下述情況下使用本標準的供方:
1)規定軟體包的要求時;
2)設計描述產品的格式時;
3)評價他們自己的產品時;
4)發布符合[ISO/IEC第22號導則]的聲明時:
5)申請合格[ISO/IEC第23號導則]證書或標誌時:
b)希望建立第三方認證模式(國際的、地區的及國家的)[ISO/IEC第16、28和44號導則]的認證機構;
c)為合格證書或標誌而進進測試的測試實驗室,測試實驗室必須遵循測試指令[ISO/IEC第25號導則];
d)認可認證機構和測試實驗室的認可機構[ISO/IEC第4O和58號導則];
e)評價測試實驗室能力的實驗室審核員[ISO/IEC第58號導則];
f)購買者:
1)用本標準規定的內容來比較他們的要求;
2)用現有產品的產品描述中的信息來比較期望的工作任務的要求;
3)尋求已認證的產品;
4)此外,檢驗要求是否被滿足。
g]用戶:可以從更好的產品獲益。
2定義
本標準採用下列定義。源自其他標準的定義列於附錄A以便於引用。
2.12.l功能function
註:
1對於用戶人說,功能不一定是能訪問的(如數據的自動備份或存儲)。
2這裡功能的概念比GB/T5271.14(失效、故障、維護和可靠性的描述中)使用的功能概念要窄,但比GB/T5271.2(算術和邏輯運算)和GB/T5272.15(程式設計語言)中定義的要寬。
2.22.2需求文檔requirementsdocument
註:例子有技術或人類工效標準,來自某一組織(如市場部、技術或用戶協會)的需求列表(或模型的需求規格說明),法律或法令。
2.32.3產品描述productdescription
註:該術語比GB/T5271.2O中的術語“系統描述”更具體。產品描述的目的包括ISO9127中“覆蓋信息”的目的。
產品描述不是規格說明,但它可用於不同的用途。
2.42.4用戶文檔userdocumentation
2.52.5包文檔packagedocumentation
2.62.6測試用例testcase
——測試日標:
——要測試的功能;
——測試環境和其他條件(配置細節和準備工作);
——測試數據;
——過程;
——系統的預期行為。
2.72.7維護maintenance
3質量要求
3.1到3.3包含
——每個軟體包要有產品描述和用戶文檔的要求;
——產品描述的要求,尤其應包含規定信息,並且其所有要求的內容是可測試的、正確的;
——用戶文檔的要求;
——包含在軟體包中的程式要求和數據要求。
注
1關於用戶文檔、程式和數據的要求包含許多一般要求(獨立於產品描述中的約定),但不包括用戶希望的所有性質。
2某些性質,例如,用戶文檔和程式訊息的“時期解件”和“易於瀏覽”,按用戶的觀點這些性質是被公認的。然而;由於這些性質難於清晰地測試且結果難於再現,使得這些性質目前僅作為建議來規定。
33.1到3.3中的要求按GB/T16260中出現的特性次序來安排。
如果一個軟體包遵循3.1到3.3中所有的要求,則該軟體包符合本標準。建議是可選的(通過使用“宜”這個詞來表示)。
注4:要證明一個產品對3.1到3.3中的要求的符合性可能是困難的或不可能的。但是,根據ISO/IEC第2號導則,為得合格證書,按照第4章來測試(包括文檔的評審)被認為是足夠了,並且不需要形式證明。
3.13.1產品描述
產品描述定義產品。產品描述是產品軟體包文檔的一部分,它提供關於用戶文檔、程式以及數據(如果有的話)的信息。
產品描述的主要目的是:
——幫助用戶或潛在的購買者作出產品是否適用於他們的評價。從這一意義說,產品描述也是銷售信息;
——作為測試的基礎(見第4章)。
對產品感興趣人們可獲得產品描述。
3.1.1內容的一般要求
產品描述宜是充分可理解的、完整的並且易於瀏覽,以幫助潛在的購買者在購買該產品前評價產品對他們自己的適用性。
產品描述應避免不一致,每個術語在任何地方都應有相同的意義。
產品描述的說明應是可測試的並且是正確的。
註:如果有外部需求文檔(見3.1.2e),本條要求引用外部需求文檔中的說明。
下列3.l.2到3.1.8規定產品描述應包合或它包含的內容,它也可包含產品的附加說明。
3.1.2標識和批示
a)產品描述的標識
產品描述應且有唯一的文檔標識。它可以有不同於產品描述的命名,例如,“功能描述”、“產品信息”“產品清單”
b)產品的標識
產品描述應標識產品。產品標識應至少有產品名字和版本號或日期。如果在產品描述中提及兩個或多個派生版本,則每個版本應至少有產品名、派生版本名和版本號或日期。
c)供方
產品描述應至少包含一個供方的名字和地址。
註:名字和地址不必列印;有供方的公章即可。
d)工作任務
產品描述應標識期望的產品能完成工作任務。
e)符合需求文檔
產品描述可以引用產品應符合的需求文檔的內容。在這種情況下應標識相關的編輯版本。
f)要求的系統
應標識將產品投入使用所要求的系統(硬體、軟體及其配置)包括製造廠商名和所有部件的類型標識符,例如;
——包括協處理器的處理單元;
——主存規格;
——外存的類型和規格;
——擴展卡;
——輸入和輸出設備;
——網路環境;
——系統軟體和其他軟體。
對於不同的工作任務、不同的邊界值或不同的效率要求,可以規定不同的要求系統。
如果先前特定的硬體或軟體產品已經標識,則語句“(如果兼容,或任何其他……)”可以出現在產品描述中。如果產品的先前版本已經標識,則語句“如果兼容,或升級的版本”可以出現在產品描述中。語句“自版本X至少到版本Y”可以出現在產品描述中,而“自版本X”不能出現在產品描中。
註:由於版本X+3的出現,語句“自版本X”將變得不正確,因為對於版本X+3,軟體包操作將會失敗。
g)與其他產品的接口
如果產品描述引用了其他產品接口,則應對所引用的接口或產品進行標識。
h)要交付項
應對要提供的產品的每個物理部件進行標識,特別是所有列印的文檔和所有的數據媒體。
應說明提供的程式形式如源程式、目標模組,或載入模組。
註:媒體格式(如磁碟格式)個必指明,因為可能的格式集合是由要求的系統決定的(見3.1.2f))。
i)安裝
應說明產品安裝是否能由用戶來完成。
j)支持
應說明是否提供對產品操作的支持。
k)維護
應說明是否提供維護。如果提供維護,應說明具體包括什麼。
3.1.3功能說明
a)功能概述
產品描述應概述產品的用戶可調用功能、需要的數據、所提供的設施。
對每個所論及的功能(尤其是選項和變數)是否是下列內容的一部分應清晰地說明:
——產品功能的;
——在產品描述中完整描述的產品擴展功能的;
——在產品描述中所引用的產品擴展功能的;
——無保證的補充功能的。
註:個必論及每個用戶可調用功能,不必給出功能如何調用的每個細節。
b)邊界值
如果由於產品特定的邊界值致使產品的使用受限,則應提供這些邊界值。例如:
——最小或最大值;
——鍵的長度;
——文卷中的記錄的最大數日;
——檢索準則的最大數目;
——最小樣本大小。
當不可能提供固定的邊界值時(例如,邊界值取決於套用問題的類型或輸入數據時),則應說明這些限制,可以提供允許的值組合,更具體的信息寫入用戶文檔。
C)安全
如果提供的話,產品描述中應包含有關防止對程式或數據非授權的無意訪問或蓄意訪問的手段。
3.1.4可靠性說明
產品描述應包含數據存儲規程的信息。
註:例如,只要說明使用作業系統進行備份就可以了。
應描述保證產品的功能能力的附加性質。例如:
——檢驗輸入的合理性;
——防止由於用戶的錯誤而產生的嚴重後果;
——出錯恢復
3.1.5易用性說明
a)用戶界面
應命名用戶界面的類型,例如:命令行、選單、視窗、功能鍵及幫助功能。
b)要求的知識
應規定套用該產品所要求的專門知識。例如:
——技術領域的知識:
——作業系統的知識;
——經過專門培訓可獲得的知識;
——除了已寫入產品描述中以外的其他語言知識。
應說明用戶文襠和用戶界面(括出錯信息和可視數據)所使用的所有自然語言,軟體包本身和該產品描述中所涉及的所有其他產品的有關內容都應加以說明。
註:這種要求超出了ISO9127:1988的6.1.7的規定,在那裡,關於所用的語言規定是可選的。
C)適套用戶的需要
如果產品能被用戶作適應性修改,則應標識這種修改的工具和修改工具的使用的條件。例如:
——參數的改變;
——計算的算法改變;
——功能鍵的分配。
d)防止侵權行為
如果防止侵權的技術保護可能有礙於軟體的使用,則應說明這種保護,例如:
——防止拷貝的技術保護;
——程式設定的使用截止日期;
——相互約定的付費拷貝。
e)使用效率和用戶滿意度。
產品描述可以包括關於使用效率和用戶滿意度的數據。
註:這樣的數據時遵循ISO9241-11的指南。
3.1.6效率說明
產品描述可以包含產品的時間行為的數據,諸如在指定條件下(例如系統配置和負載分布)關於給定功能的回響時間和吞吐率。
3.1.7可維護性說明
產品描述可包含可維護性說明。
3.1.8可移植性說明
產品描述可包含可移植性說明。
3.23.2用戶文檔
用戶文檔應包含產品使用所需信息。在產品描述中說明的所有功能以及在程式中用戶可調用的所有功能,都應在用戶文檔中加以完整地描述。
用戶文檔中應再次說明產品描述中給出的所有邊界值。
如果安裝能由用戶來完成,則用戶文檔應包括安裝手冊,該手冊應包含所有必要的信息(見3.3.la))。安裝手冊宜說明一次安裝的最小文卷和最大文卷。
如果維護能由用戶來完成,則用戶文檔應包括程式維護手冊,該手冊應包含各種有關該軟體維護所需要的信息。
3.2.2正確性
用戶文檔中所有信息應是正確的,不能有歧義和錯誤的表達。
3.2.3一致性
則戶文檔自身內容或相互之間以及與產品描述之間都不應相互矛盾。每個術語的含義宜處處保持一致。
註:程式和數據的一致性在3.3.1d)中論及。
3.2.4易理解性
用戶文檔對於正常執行其工作任務的一般用戶宜是易理解的,例如,通過使用適當的術語、圖形表示,詳細的解釋以及引出有用的信息源來表現。
3.2.5易瀏覽性
用戶文檔宜易於瀏覽,以使相互關係明確。
每個文檔應有目錄表和索引表。
如果文檔未提供印刷本,則應指明列印過程。
3.33.3程式和數據
a)安裝
如用安裝能由用戶來完成,則按照安裝手冊中的信息應能成功安裝。產品描述中指出的每種所要求的系統對於程式的安裝應是充分的。
安裝之後,程式能否運行應是可鑑別的。例如,使用提供的測試用例或通過相應信息的自檢。
b)功能表現
用戶文檔中提到的所有功能應是可執行的。程式應按照用戶文檔中的給定形式,在規定的邊界值範圍內使用相應的設施、性質和數據執行其功能。
註:由於在產品描述中涉及的所有功能也應出現在用戶文檔中,這些功能更應是可執行的。
C)正確性
程式和數據應與產品描述及用戶文檔中的全部說明相對應。為完成工作任務,程式功能應以正確的方式執行。特別是,程式和數據應符合產品描述所引用的任一需求文檔中的全部需求。
d)一致性
程式和數據其本身不能自相矛盾,並且同產品描述和用戶文檔不能相互矛盾。每個術語應處處具有相同的含義。
由用戶先例的程式操作控制和程式行為(例如,訊息,螢幕輸入格式和列印報表)宜有一致的結構。
3.3.2可靠性
系統(包括硬體、要求的軟體及屬於該產品的程式)不應陷入用戶無法控制的狀態,既不應崩潰也不應丟失數據。
即使在下列情況下也應滿足上述要求:
——使用的容量到達規定的極限;
——企圖使用的容量超出規定的極限;
——由產品描述中列出的其他程式或用戶造成的錯誤輸入;
——用戶文檔中明確規定的非法指令。
只是那些不能用任何程式捕獲的硬中斷和作業系統中斷(例如,系統操作復位用的鍵或組合鍵)不在此範圍之內。
當程式認為輸入錯誤或輸入未經定義時,應視為不允許的輸入,不加處理。
3.3.3易用性
關於易用性,根據本標準的規定,鼓勵研究ISO9241系列標準最新版本套用的可能性。
註:特別是宜考慮ISO9241系列的第10部分和第13部分。
a)易理解性
程式的問題、訊息和結果應是易理解的,例如:
——通過選擇適當的術語:
——通過圖形表示;
——通過提供背景信息:
——通過幫助功能的解釋。
出錯訊息應提供解釋相應差錯產生原因和糾正的詳細信息(例如通過引用用戶文檔的條文)。
b)易瀏覽性
如果有多種媒體,則每種數據媒體應具有產品標識、可辨別編號或文本。
對於使用程式進行工作的用戶,總能找到哪個功能正在被執行是可能的。
程式宜以易觀察易讀的形式向用戶提供信息。通過對信息的適當編碼和分組對用戶提供指導,必要時,程式可向用戶發出警報。
源程式的訊息應如此設計,即用戶通過類型容易區分它們。例如:
——確認;
——程式詢問;
——警告:
——出錯訊息。
螢幕輸入格式,報表和其他輸入、輸出宜設計清晰和易於瀏覽。一般包括:
——字母數字欄位左對齊:
——數字欄位右對齊;
——在表中,小數點或逗號要排在同一垂直線上;
——欄位界限是可識別的;
——哪些欄位的使用是受限的,哪些欄位是可識別的:
——標識輸入失敗後要立即在螢幕輸入格式中加亮;
——通過一個可視或可聽的信號來引起用戶注意螢幕內容的改變。
c)可操作性
具有嚴懲後果的功能執行應是可逆的,或者程式應給出該後果的明顯警告並且在執行該命令前要求確認。特別是數據的刪除和重寫,以及中斷一個過長的處理操作,這種動作往往有嚴重後果。
如果文檔文本編制是以對話形式提供。用戶應直接訪問該文本的子條文,例如通過目錄表顯示的選擇和按關鍵字檢索功能來實現。
3.3.4效率
應遵循產品描述中的效率說明。
3.3.5可維護性
應遵循產品描述中的可維護性說明。
3.3.6可移植性
應進循產品描述中的可移植性說明。
4測試細則
4.1到4.5的細則規定如何按照質量要求來測試產品。包括根據所有符合性產品要求的性質測試和按照產品描述約定的性質測試。包括通過文檔的檢查測試和程式及數據的黑盒測試。
這些細則描述了功能測試(黑盒測試),不包括結構測試,因為結構測試需要得到原始碼。
產品僅在它要求的系統中被測試。對於計算機工作時的人類工效評價,本標準不作考慮。
注
1這些細則上要是根據某些認證模式,針對第三方測試(見第1章C)項)。在生產過程中,這種測試比使用結構測試可能經濟且更有效。
2第4章不包含關於軟體包的要求(所有這些要求包含在第3章中)。一個軟體包不按第4章進行測試可能是符合的,但是這樣的測試無法發現個符合性的存在。
3當產品描述確定了要求的系統時,基於該要求的系統上的產品的任何不符合性被作為該產品的個符合性處理。
4認證模式可對照建議選項來進行測試。
5關於人類工效評價的指南包含在ISO9241-11中。
4.14.1測試預要求
對於要測試的軟體包所有要交付的項(見3.1.2h)以及產品描述(見3.1.2e)中已標識的需求文檔都應提供到測試現場。
4.1.2對系統組成部分的現場要求
對於軟體包的測試,在產品描述中已指明要求的所有計算機系統的組成部分應提供到測試現場。
4.l.3培訓
如果在產品描述中提到培訓,則測試者應有機會使用培訓材料和培訓大綱。
4.24.2測試活動
——應按第3章中的要求進行符合性測試,且
——它按第3章中的建議進行符合性測試。
測試對象應源於並包括第3章中所有要求(完整性、一致性等)。
如果在產品描述中涉及到其他產品,只需針對該產品的產品描述中提出的要求對這些產品進行測試。
如果測試者作出下述判斷時,則對產品描述中的細節,用戶文檔中的細節,功能中的細節和產品的數據中的細節不需要測試:
——這些細節對已指明的工作任務的影響可忽略;
這些不作測試的細節應在測試記錄和測試報告中說明。對它們不作測試的理由應在測試記錄中作錄。
4.2.1產品描述
第3章中的要求的實現應被測試,並且第3章中的建議的實現宜被測試。
4.2.2用戶文檔
第3章中的要求的實現應被測試,並且第3章中的建議的實現宜被測試。
4.2.3程式和數據
第3章中的要求的實現應被測試,並且第3章中建議的實現宜被測試。
程式應在產品描述中提及的所有的計算機系統中進行測試。
如果存在若干不同的程式變數,每個都應測試。函式亦是如此,按照產品描述和用戶文檔進行測試,一組變數標識的函式按每個變數進行測試。應使用以產品描述和用戶文檔為基礎構造的測試用例來測試提供的程式和數據。進一步的材料(例如源程式)不必考慮,除非在產品描述或用戶文檔中作了說明,才需要測試它們。
測試用例應有規則地系統地來構造。
註:依確定的方法進行隨機測試是許可的。
如果例子是在用戶文檔中給出的,則它們應作為測試用例,但測試不應局限於這些例子。可以使出軟體包供應方提供的測試用例,但測試不應局限於這些測試用例。
a)安裝
如果按照產品描述,用戶能完成安裝,則應測試這種安裝,即程式是否像安裝手冊中描述的那樣能成功地安裝和測試。
否則應保證被安裝程式的硬、軟體環境符合於產品描述中說明的計算機系統。
b)程式執行
測試用例應覆蓋軟體描述和用戶文檔中描述的所有功能,並且考慮有代表性的工作任務的功能組合。應針對所有的邊界值(按照產品描述和用戶文檔)來測試程式,而這些邊界值在要求的系統中提供。
在用戶文檔中明顯地不贊成或聲明禁用的輸入或命令序列應屬於測試範圍。
4.34.3測試記錄
——測試計畫或包含測試用例(每個測試用例說明它的目標,見2.6)的測試規格說明;
——與測試用例相關的所有結果,包括在測試期間出現的所有失敗;
——測試中涉及的人員身份。
4.44.4測試報告
l產品標識;
2用於測試的計算機系統(硬體、軟體以及它們的配置):
3使用的文檔(及其標識):
4產品描述、用戶文檔、程式和數據的測試結果;
5與要求不符的清單;
6針對建議的要求不符的清單,或者是不循建議要求的清單,或者針對建議要求產品未作符合性測試的說明;
7測試結束日期。
測試報告的第4章(測試結果)應包括相應於3.1到4.2每個標題的說明。
另外,針對建議要求的符合性產品未作測試的說明,測試報告的第6章可提供觀察到的不符合建議要求的清單。
測試報告的標識(測試實驗室、產品標識、測試報告的日期)和面頁總數應出現在測試報告的每頁上。
測試報告應包括:
——僅與測試項相關的測試結果有效性的說明;
——未經測試實驗室書面批准,不得複製報告(完整複製除外)的說明[ISO/IEC25號導則]。
測試報告宜遵循ISO/IEC25號導則有關測試報告的規定。
4.54.5跟蹤測試
——文檔功能和數據中所有的改變部分都應測試,就像該產品是一新產品一樣;
——受改變部分影響的或受要求的系統中的改變影響(根據測試者的專門知識)的所有來改變部分都應測試,就像該產品是一新產品一樣;
——所有的其他部分應至少按樣本進行測試。