人工測試包括個人復查、走查和會審兼雄;
1帽蝶、人工測試的方法
∩饫摺(1)個人復查
個人復查是指程序員自行設計測試用例,對源代碼励稳、詳細設計進行仔細檢查佃乘,并記錄錯誤、不足之處等驹尼。個人復查主要包括檢查變量的正確性趣避、檢查標號的正確性、檢查子程序新翎、宏程帕、函數(shù)、常量檢查地啰、標準檢查愁拭、風格檢查、比較控制流亏吝、選擇岭埠、激活路徑、對照詳細說明書,閱讀源代碼和補充文檔等方面的測試內容惜论。
⌒碓摺(2)走查
走查是指測試人員先閱讀相應的文檔和源代碼,然后人工將測試數(shù)據(jù)輸入被測試程序来涨,并在紙上跟蹤監(jiān)視程序的執(zhí)行情況图焰,人工沿著程序的邏輯走查運行一遍启盛,跟蹤走查運行的進程來發(fā)現(xiàn)程序的錯誤蹦掐。走查的具體測試內容包括模塊特性、模塊接口僵闯、模塊的對外輸入或輸出卧抗、局部數(shù)據(jù)結構、數(shù)據(jù)計算錯誤鳖粟、控制流錯誤社裆、處理出錯和邊界測試等方面。
∠蛲肌(3)會審
會審是指測試人員在會審前仔細閱讀軟件的有關資料泳秀,根據(jù)錯誤類型清單(根據(jù)以往的經驗、對源程序的估計等榄攀,并在以后測試中給以豐富補充)填寫檢測表嗜傅,提出根據(jù)錯誤類型要提出的問題。會審時檩赢,由程序設計人員講解程序的設計方法吕嘀,由程序編寫人員逐個講解程序代碼的編寫,測試人員需要逐個審查贞瞒,提問偶房,討論可能出現(xiàn)的問題。會審對程序的功能军浆、結構棕洋、邏輯和風格都要進行審定。會審的測試內容與“走查”的內容相同乒融。
2掰盘、機器測試
(1)定義
機器測試的目的是檢查程序的動態(tài)性能簇抵,檢查程序在執(zhí)行過程中存在的錯誤庆杜。尤其是發(fā)現(xiàn)程序在實現(xiàn)功能、邏輯通路碟摆、數(shù)值計算晃财、數(shù)據(jù)處理、邊界處理、錯誤處理等方面存在的錯誤断盛。機器測試分為白盒測試和黑盒測試罗洗。
(2)黑盒測試
黑盒測試即功能測試钢猛, 這種方法是把軟件看成一個看不見里面內容的黑盒伙菜,在完全不考慮程序內部結構和特性的情況下,測試軟件的外部特性命迈。根據(jù)軟件的需求規(guī)格說明書設計測試用例贩绕, 從程序輸入和輸出特性上檢查程序是否滿足設定的功能。黑盒測試常采用的方法是設計適量有效和無效的輸入數(shù)據(jù)進行測試壶愤,以期用最小的代價發(fā)現(xiàn)最多的錯誤淑倾。
(3)白盒測試
白盒也稱結構測試征椒,這是將軟件看成一個透明的白盒子娇哆,按照程序的內部結構和處理邏輯來選定測試用例,對軟件的邏輯路徑及過程進行測試勃救,檢查它與設計是否相符碍讨。
二、軟件測試的流程
軟件測試的流程主要包含單元測試蒙秒、組裝測試勃黍、確認測試、系統(tǒng)測試四個階段税肪。
1溉躲、單元測試
單元測試也叫模塊測試,單元指清晰定義了子功能的最小單位益兄,如程序的最小編譯單位等锻梳,是測試工作的第一步,通常單元測試需要編寫樁程序及耙程序净捅。單元測試是要保證每個獨立的模塊完成清晰定義的子功能疑枯,發(fā)現(xiàn)編碼和詳細設計的錯誤。它將整個系統(tǒng)分解蛔六,減少測試復雜度荆永,在模塊范圍定位錯誤的位置,并且可以多個模塊并行測試国章。測試可以由編碼人員也可以由測試人員來完成具钥。測試方法以白盒測試為主,輔以必要的黑盒測試液兽。測試內容包括模塊接口骂删、模塊內部數(shù)據(jù)結構、邏輯通路、邊界值宁玫、出錯處理等粗恢。
2、組裝測試
組裝測試也叫綜合測試欧瘪、集成測試眷射、聯(lián)合測試,它是在單元測試之后需要按照設計時做出的層次模塊圖把測試模塊連接起來佛掖,進行組裝測試妖碉。測試目的是檢查能夠獨立實現(xiàn)子功能的單元模塊能否在組裝過程中逐級實現(xiàn)組合起來的主功能。測試人員由編碼人員和測試人員共同進行苦囱。測試方法是黑盒測試嗅绸。組裝測試的策略分為非增式測試和增式測試,增式測試又分為自頂向下撕彤、自底向上和混合式三種。
3猛拴、確認測試
確認測試也叫合格性測試羹铅、驗收測試,經過組裝測試后愉昆,所有模塊已連接成為一體职员,確認測試是將整個軟件作為測試對象,進一步檢查軟件是否符合需求規(guī)格說明書的要求跛溉。確認測試的目的是檢查系統(tǒng)是否能夠按預定要求工作焊切。確認測試主要由測試人員完成。確認測試要進行以下幾方面的內容:在模擬的環(huán)境下芳室,運用黑盒測試的方法专肪,驗證測試可包括功能測試、可移植性堪侯、兼容性嚎尤、錯誤恢復能力、可維護性等性能測試伍宦。有些確認測試還將軟件配置審查芽死,α測試,β測試也包含進來次洼。
4关贵、系統(tǒng)測試
系統(tǒng)測試是將通過確認測試的軟件,作為整個基于計算機系統(tǒng)的一個元素卖毁,與計算機硬件揖曾、外設、某些支持系統(tǒng)、數(shù)據(jù)和人員等整個系統(tǒng)其他元素系統(tǒng)結合在一起翩肌,在實際運行環(huán)境中模暗,在用戶的直接參與下進行,是測試階段的最后一步念祭。系統(tǒng)測試的目的是在實際運行環(huán)境中兑宇,系統(tǒng)本身性能的實現(xiàn)、與其他系統(tǒng)配合情況以及環(huán)境異常情況和人為惡意破壞時自我保護等粱坤。系統(tǒng)測試應有軟件實際用戶隶糕、測試人員、質量保證人員等組成站玄。系統(tǒng)測試采用的方法是黑盒法枚驻。系統(tǒng)測試的內容可包括:集成功能測試、可靠性與適應性測試株旷、系統(tǒng)自我保護及恢復能力的測試再登、安全性測試、強度測試等晾剖。
隨著敏捷開發(fā)方法等新一代軟件工程概念的風靡锉矢,軟件編碼和測試過程多次迭代,測試人員更積極地參與到軟件生命周期的各個階段中齿尽,使得整個項目團隊收取事半功倍的成效沽损。