1.什麼是軟體缺陷?軟體缺陷的產生對軟體有什麼影響?
定義:軟體缺陷就是軟體產品中所存在的問題,最終表現為使用者所需要的功能沒有完全實現,不能滿足或不能全部滿足使用者的需求。
從產品內部看,軟體缺陷是軟體產品開發或維護過程中所存在的錯誤、誤差等各種問題;從外部看,軟體缺陷是系統所需要實現的某種功能的失效或違背。
影響:(1)需求不明確。軟體需求不清晰或者開發人員對需求理解不明確,導致軟體在設計時偏離客戶的需求目標,造成軟體功能或特徵上的缺陷。此外,在開發過程中,客戶頻繁變更需求也會影響軟體最終的質量。
(2)軟體結構複雜。如果軟體系統結構比較複雜,很難設計出乙個具有很好層次結構或元件結構的框架,這就會導致軟體在開發、擴充、系統維護上的困難。即使能夠設計出乙個很好的架構,複雜的系統在實現時也會隱藏著相互作用的難題,而導致隱藏的軟體缺陷。
(3)編碼問題。在軟體開發過程中,程式設計師水平參差不齊,再加上開發過程中缺乏有效的溝通和監督,問題累積越來越多,如果不能逐一解決這些問題,會導致最終軟體中存在很多缺陷。
(4)專案期限短。現在大部分軟體產品開發周期都很短,開發團隊要在有限的時間內完成軟體產品的開發,壓力非常大,因此開發人員往往是在疲勞、壓力大、受到干擾的狀態下開發軟體,這樣的狀態下,開發人員對待軟體問題的態度是「不嚴重就不解決」。
(5)使用新技術。現代社會,每種技術發展都日新月異。使用新技術進行軟體開發時,如果新技術本身存在不足或開發人員對新技術掌握不精,也會影響軟體產品的開發過程,導致軟體存在缺陷。
2.什麼是軟體測試?軟體測試的基本原則是什麼?
定義:軟體測試是為了發現錯誤而針對某個程式或系統的執行過程。用盡一切可能的方法或工具,查詢軟體中潛藏的錯誤和缺陷,保證軟體產品的質量符合預期需求,並進而為產品發布樹立(質量)可靠信心的一種手段。
原則:(1)所有測試的標準都是建立在使用者需求之上的,測試的目的在於發現系統是否滿足規定的需求。
(2)盡早的和不斷的測試,越早進行測試,缺陷的修復成本就會越低。
(3)程式設計師應避免檢查自己的程式,由第三方進行測試更客觀有效。
(4)窮舉測試是不可能的。
(5)充分注意測試中的群集現象,一段程式中一發現的錯誤數越多,其中存在的錯誤概率越大,因此對發現錯誤較多的程式段,應進行更深入的測試。
(6)設計測試用例時應包括合理輸入和不合理輸入,以及各種邊界條件、特殊情況下要製造極端狀態和意外狀態。
(7)注意回歸測試的關聯絡,往往修改乙個錯誤會引起更多錯誤。
(8)測試應從「小規模」開始,逐步轉向「大規模」。
(9)測試用例式設計出來,不是寫出來的,應根據測試的目的,採用相應的方法設計測試用例,從而提高測試的效率,更多的發現錯誤,提高程式的可靠性。
(10)重視並妥善儲存一切測試過程文件(測試計畫,測試用例,測試報告等)
3.什麼是軟體測試用例?良好的測試用例應該具有什麼樣的特性?
定義:測試用例是一組測試輸入、執行條件和預期結果的集合,目的是要滿足乙個特定的目標,比如執行一條特定的程式路徑或檢驗是否符合乙個特定的需求。
特性:(1)完整性 (2)正確性(3)一致性 (4)可行性(5)無二義性 (6)健壯性 (7)必要性 (8)可測試性 (9)可修改性 (10)可跟蹤性
4.怎樣搭建軟體測試環境?對軟體測試人員有什麼要求?
定義:就是搭出可供測試用的環境。簡單了說是作業系統,複雜了說,是裝了特定軟體做了特定設定的作業系統
測試環境=硬體+軟體+網路+資料軟體測試人員有的要求:
(1)系統思維能力(2)專案管理能力(3)溝通表達能力(4)領導管理技能
軟體測試(第一章)
軟體測試的基本概念 是對軟體需求分析設計編碼的最終複查的一系列過程,是軟體質量驗證的關鍵步驟。軟體測試的目的 1.發現缺陷,提高質量。2.驗證是否滿足需求。3.建立軟體質量的信心。1 開發者 確認軟體已經實現使用者的需求,不存在錯誤。2 使用者 發現軟體中的錯誤,考慮是否可接受該產品。軟體測試原則 ...
第一章 習題
第一章 習題 1 linux採用什麼版權方式發行?這種版權與通常的商業軟體有何區別?答 早期版本採用的是gpl版權方式發行的,即general public license。後來採用的發行方式是gnu 這種版權與通常的商業軟體的最大區別是免費和開放源 2 簡述linux的技術特點。答 1 提供全部源...
軟體測試 第一章軟體測試入門
軟體的缺陷就是軟體和需求或者定義的偏離,包括錯誤實現需求 遺漏需求 增加需求 需求 設計 編碼 文件 critical 不能執行正常工作功能或重要功能。一般指系統級的錯誤。major 嚴重影響系統主要功能的實現,且沒有辦法更正 minor 影響系統次要功能的實現,但存在合理更正辦法 cosmetic...