軟體測試筆記

2022-12-26 05:54:05 字數 4785 閱讀 9749

軟體1.軟體的概念

2.軟體的特徵:軟體具有智慧型性、無形性、抽象性、系統性、泛域性、依附性、非損性、複製性和演化性等特徵。

3.軟體的分類:1)按功能劃分:系統軟體,支撐軟體,應用軟體

2)按規模劃分:微型,小型,中型,大型,甚大型,超大型。

3)按工作方式:實時處理軟體,分時軟體,互動式軟體,批處理軟體

4)按服務物件範圍:專案軟體,產品軟體

軟體工程,20世紀60年代中期,起源於軟體的危機。1)軟體不能按預定計畫控制和完成2)軟體無法滿足使用者需求3)軟體開發和維護費用超出預算4)可靠性和可用性差5)可維護性差。

如何客服軟體危機:要克服軟體危機,就要認真分析軟體危機的原因,探索用工程的方法進行軟體生產的可能性,即用現代工程的概念、原理、技術和方法進行計算機軟體的開發、管理、維護和更新。

軟體工程的概念:應用計算機科學技術,數學,管理學的原理,運用工程科學的理論、方法和技術,研究和指導軟體開發和演化的一門交叉學科。(軟體工程是研究和應用如何以系統性的、規範化的、可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來)

軟體工程的三要素:方法,工具,過程。

軟體工程的內容:原理(目標(在給定成本、進度的前提下,開發出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性並且滿足使用者需求的軟體產品),原則科學基礎),過程,方法,技術,模型,管理,度量,環境,應用。

cmmi(能力成熟度模型)

cmmi認證是由美國軟體工程學會(software engineering institute,簡稱sei)制定的一套專門針對軟體產品的質量管理和質量保證標準. cmmi 的全稱為:capability maturity model integration,即能力成熟度模型整合。

cmmi的五個台階(五個等級):   台階一:cmmi一級,完成級。

  在完成級水平上,企業對專案的目標與要做的努力很清晰,專案的目標得以實現。但是由於任務的完成帶有很大的偶然性,企業無法保證在實施同類專案的時候仍然能夠完成任務。企業在一級上的專案實施對實施人員有很大的依賴性。

  台階二:cmmi二級,管理級。   在管理級水平上,企業在專案實施上能夠遵守既定的計畫與流程,有資源準備,權責到人,對相關的專案實施人員有相應的培訓,對整個流程有監測與控制,並與上級單位對專案與流程進行審查。

企業在二級水平上體現了對專案的一系列的管理程式。這一系列的管理手段排除了企業在一級時完成任務的隨機性,保證了企業的所有專案實施都會得到成功。   台階三:

cmmi**,定義級。   在定義級水平上,企業不僅能夠對專案的實施有一整套的管理措施,並保障專案的完成;而且,企業能夠根據自身的特殊情況以及自己的標準流程,將這套管理體系與流程予以制度化這樣,企業不僅能夠在同類的專案上生到成功的實施,在不同類的專案上一樣能夠得到成功的實施。科學的管理成為企業的一種文化,企業的組織財富。

  台階四:cmmi四級,量化管理級。   在量化管理級水平上,企業的專案管理不僅形成了一種制度,而且要實現數位化的管理。

對管理流程要做到量化與數位化。通過量化技術來實現流程的穩定性,實現管理的精度,降低專案實施在質量上的波動。   台階五:

cmmi五級,優化級。   在優化級水平上,企業的專案管理達到了最高的境界。企業不僅能夠通過資訊手段與數位化手段來實現對專案的管理,而且能夠充分利用資訊資料,對企業在專案實施的過程中可能出現的次品予以預防。

能夠主動地改善流程,運用新技術,實現流程的優化。

軟體的生命期:計畫制定,需求分析,設計、編碼、測試,執行維護。

一.瀑布開發模型: 瀑布模型核心思想是按工序將問題化簡,將功能的實現與設計分開,便於分工協作,即採

瀑布模型

用結構化的分析與設計方法將邏輯實現與物理實現分開。將軟體生命週期劃分為制定計畫、需求分析、軟體設計、程式編寫、軟體測試和執行維護等六個基本活動,並且規定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。

1、優點

1)為專案提供了按階段劃分的檢查點。2)當前一階段完成後,您只需要去關注後續階段。3)可在迭代模型中應用瀑布模型。

增量迭代應用於瀑布模型。迭代1解決最大的問題。每次迭代產生乙個可執行的版本,同時增加更多的功能。

每次迭代必須經過質量和整合測試。

2、缺點

1)在專案各個階段之間極少有反饋2)只有在專案生命週期的後期才能看到結果。   3)通過過多的強制完成日期和里程碑來跟蹤各個專案階段4)瀑布模型的突出缺點是不適應使用者需求的變化.

二.原型開發模型:原型模型通過向使用者提供原型獲取使用者的反饋,使開發出的軟體能夠真正反映使用者的需求。同時,原型模型採用逐步求精的方法完善原型,使得原型能夠「快速」開發,避免了像瀑布模型一樣在冗長的開發過程中難以對使用者的反饋作出快速的響應。

相對瀑布模型而言,原型模型更符合人們開發軟體的習慣,使目前較流行的一種實用軟體生存期模型。

1.優點:(1)開發人員和使用者在「原型」上達成一致。

這樣一來,可以減少設計中的錯誤和開發中的風險,也減少了對使用者培訓的時間,而提高了系統的實用、正確性以及使用者的滿意程度。   (2)縮短了開發周期,加快了工程進度。   (3)降低成本。

2.缺點:   當告訴使用者,還必須重新生產該產品時,使用者是很難接受的。這往往給工程繼續開展帶來不利因素。

三.螺旋開發模型

1.優點

1)設計上的靈活性,可以在專案的各個階段進行變更。   2)以小的分段來構建大型系統,使成本計算變得簡單容易。   3)客戶始終參與每個階段的開發,保證了專案不偏離正確方向以及專案的可控性。

  4)隨著專案推進,客戶始終掌握專案的最新資訊 , 從而他或她能夠和管理層有效地互動。   5)客戶認可這種公司內部的開發方式帶來的良好的溝通和高質量的產品。

2.缺點

很難讓使用者確信這種演化方法的結果是可以控制的。建設週期長,而軟體技術發展比較快,所以經常出現軟體開發完畢後,和當前的技術水平有了較大的差距,無法滿足當前使用者需求。   螺旋模型的專案適用:

  對於新近開發,需求不明確的情況下,適合用螺旋模型進行開發,便於風險控制和需求變更!

4.噴泉開發模型

1、優點噴泉模型不像瀑布模型那樣,需要分析活動結束後才開始設計活動,設計活動結束後才開始編碼活動。該模型的各個階段沒有明顯的界限,開發人員可以同步進行開發。其優點是可以提高軟體專案開發效率,節省開發時間,適應於物件導向的軟體開發過程。

  2、缺點由於噴泉模型在各個開發階段是重疊的,因此在開發過程中需要大量的開發人員,因此不利於專案的管理。此外這種模型要求嚴格管理文件,使得審核的難度加大,尤其是面對可能隨時加入各種資訊、需求與資料的情況。

五.敏捷開發模型(scrum方法。敏捷開發框架。乙個輕量級的軟體開發方法)

backlog:可以預知的所有任務,包括功能性和非功能性的所有任務

sprint一次迭代開發的時間週期,一般最多以30天為乙個週期。

sprint backlog乙個sprint週期內所需要完成的任務

scrummaster負責監督整個scrum

time-box

軟體測試

軟體測試的產生:原因一:程式規模的**式增長(1)程式**規模顯著增大(2)程式結構和演算法更加複雜(3)程式模組間介面增多原因二:在程式設計師與使用者需求間尋找平衡點

軟體測試的定義:是為了發現錯誤而執行程式的過程,應關心程式的效率和魯棒性等因素,檢驗軟體是否滿足規定的需求,弄清預期與實際結果之間的差別。

軟體測試的可靠性:規定的時間,規定的環境條件,規定的功能

測試與除錯的區別:測試是發現軟體的錯誤(測試人員不負責修改錯誤)

軟體質量:軟體產品的特性可以滿足使用者的功能,效能需求的能力。

軟體質量保證:建立一套由計畫,有系統的方法,來向管理層保證你定出的標準、步驟、實踐和方法能夠正確地被所有專案所採用。

軟體質量控制:用於獲得質量需求的操作技術和過程,如測試活動。

問題1:軟體測試,軟體過程與軟體質量關係

軟體測試是驗證已完成軟體的質量。是保證軟體質量的技術和方法。制定軟體過程就是採用標準化流程化的模式來保證軟體質量。

與軟體測試目的一樣。軟體測試是軟體過程中的乙個活動(不一定是必須的,根據專案質量要求);兩者都是為了保證軟體質量。軟體質量保證就是保證軟體過程,軟體過程高,軟體質量就高。

問題2:軟體質量保證與軟體控制之間的關係

質量保證是從過程和標準來控制開發過程,從而達到提高軟體質量的目的。而質量控制則是通過測試、評審等驗證、確認手段來發現軟體中的缺陷,並確保該缺陷得到解決,從而達到提高軟體質量的目的。

問題3:軟體測試的概念

使用人工或者自動手段來執行或測試某個系統的過程,其目的在與檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別,它是幫助識別開發完成(中間或最終的版本)的計算機軟體(整體或部分)的正確度,完全度和質量的軟體過程,是sqa的重要子域。

問題4:軟體測試原則:(1)軟體測試應盡早執行(2)軟體測試應貫穿整個生命週期 (需求階段引入的缺陷最多)(3)軟體測試應追溯需求(4)測試應由第三方來構造。

(5)窮舉測試是不可能的,要遵循good-enough原則。(6)必須確定預期輸出。(7)必須徹底檢查每個測試結果(8)充分注意測試中的群集現象

問題5:軟體測試的分類

1、按階段劃分:(1) 單元測試單元測試是對軟體中的基本組成單位進行的測試,如乙個模組、乙個過程等等。它是軟體動態測試的最基本的部分,也是最重要的部分之一,其目的是檢驗軟體基本組成單位的正確性(2)整合測試整合測試是在軟體系統整合過程中所進行的測試,其主要目的是檢查軟體單位之間的介面是否正確(3) 系統測試(包括確認測試) 軟硬體,系統測試是對已經整合好的軟體系統進行徹底的測試,以驗證軟體系統的正確性和效能等滿足其規約所指定的要求,檢查軟體的行為和輸出是否正確並非一項簡單的任務,它被稱為測試的「先知者問題」。

(4) 驗收測試驗收測試旨在向軟體的購買者展示該軟體系統滿足其使用者的需求。它的測試資料通常是系統測試的測試資料的子集。使用者參與。

軟體測試筆試題面試大

2 發現錯誤多的模組,殘留在模組中的錯誤也多。初級 3 測試人員在測試過程中發現一處問題,如果問題影響不大,而自己又可以修改,應立即將此問題正確修改,以加快 提高開發的程序。初級 4 單元測試通常應該先進行 人工走查 再以白盒法為主,輔以黑盒法進行動態測試。中級 5 功能測試是系統測試的主要內容,檢...

2019軟體測試筆試題及答案

9 你為什麼選擇軟體測試行業?因為之前了解軟體測試這個行業,覺得他的發展前景很好。10 根據你以前的工作或學習經驗描述一下軟體開發 測試過程,由哪些角色負責,你做什麼 要有架構師 開發經理 測試經理 程式設計師 測試員。我在裡面主要是負責所分到的模組執行測試用例。11 根據你的經驗說說你對軟體測試 ...

軟通動力軟體測試筆試題

1 軟體測試是軟體開發的重要環節,進行軟體測試的目的是 a 證明軟體錯誤不存在 b 證明軟體錯誤的存在 c 改正程式所有的錯誤 d 發現程式所有的錯誤 2 對於軟體質量描述不正確的是 a 高質量的過程產生高質量的產品 b 軟體質量是測試人員測試出來的 c 軟體質量是設計和規劃出來的 d 專案階段結束...