關于什么是軟件過程?它與軟件工程方法學有何關系?,什么是軟件這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、什么是軟件測試 為了保證軟件的質(zhì)量和可靠性,應力求在分析、設計等各個開發(fā)階段結(jié)束前,對軟件進行嚴格技術評審。
2、但由于人們能力的局限性,審查不能發(fā)現(xiàn)所有的錯誤。
3、而且在編碼階段還會引進大量的錯誤。
4、這些錯誤和缺陷如果遺留到軟件交付投入運行之時,終將會暴露出來。
5、但到那時,不僅改正這些錯誤的代價更高,而且往往造成很惡劣的后果。
6、 軟件測試就是在軟件投入運行前,對軟件需求分析、設計規(guī)格說明和編碼的最終復審,是軟件質(zhì)量保證的關鍵步驟。
7、如果給軟件測試下定義,可以這樣講:軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。
8、或者說,軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的部結(jié)構而精心設計的一批測試用例(即輸入一些數(shù)據(jù)而得到其預期的結(jié)果),并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤的過程。
9、 軟件測試在軟件生存期中橫跨兩個階段:通常在編寫出每一個模塊之后就對它做必要的測試(稱為單元測試)。
10、編碼與單元測試于軟件生存期中的同一個階段。
11、在結(jié)束這個階段之后,對軟件系統(tǒng)還要進行各種終合測試,這是軟件生存期的另一個階段,即測試階段,通常由門的測試人員承擔這項工作。
12、 大量統(tǒng)計資料表明,軟件測試的工作量往往占軟件開發(fā)總工作量的40%以上,在極端情況,測試那種關系人的生命安全的軟件所花費的成本,可能相當于軟件工程其他開發(fā)步驟總成本的三倍到五倍。
13、因此,必須高度重視軟件測試工作,絕不要以為寫出程序之后軟件開發(fā)工作就接近完成了,實際上,大約還有同樣多的開發(fā)工作量需要完成。
14、僅就測試而言,它的目標是發(fā)現(xiàn)軟件中的錯誤,但是,發(fā)現(xiàn)錯誤并不是我們的最終目的。
15、軟件工程的根本目標是開發(fā)出高質(zhì)量的完全符合用戶需要的軟件。
16、軟件測試的目的 基于不同的立場,存在著兩種完全不同的測試目的。
17、從用戶的角度出發(fā),普遍希望通過軟件測試暴露出軟件中陷藏的錯誤和缺陷,以考慮是否可以接受該產(chǎn)品。
18、而從軟件開發(fā)者的角度出發(fā),則希望測試成為表明軟件產(chǎn)品中不存在錯誤的過程,驗證該軟件已正確地實現(xiàn)了用戶的要求,確立用戶對軟件質(zhì)量的信心。
19、 因為在程序中往往存在著許多預料不到的問題,可能會被疏漏,許多隱藏的錯誤只有在特定的環(huán)境下才可能暴露出來。
20、如果不把著眼點放在盡可能查找錯誤這樣一個基礎上,這些隱藏的錯誤和缺陷就查不出來,會遺留到運行階段中去。
21、如果站在用戶的角度替他們設想,就應當把測試活動的目標對準揭露程序中存在的錯誤。
22、在選取測試用例時,考慮那些易于發(fā)現(xiàn)程序錯誤的數(shù)據(jù)。
23、下面這些規(guī)則也可以看作是測試的目的或定義: 1. 測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程; 2. 好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案; 3. 成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。
24、 從上述規(guī)則可以看出,測試的正確定義是“為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程”。
25、這和某些人通常想象的“測試是為了表明程序是正確的”,“成功的測試是沒有發(fā)現(xiàn)錯誤的測試”等等是完全相反的。
26、正確認識測試的目標是十分重要的,測試目標決定了測試方案的設計。
27、如果為了表明程序是正確的而進行測試,就會設計一些不易暴露錯誤的測試方案;相反,如果測試是為了發(fā)現(xiàn)程序中的錯誤,就會力求設計出最能暴露錯誤的測試方案。
28、 由于測試的目標是暴露程序中的錯誤,從心理學角度看,由程序的編寫者自己進行測試是不恰當?shù)摹?/p>
29、因此,在綜合測試階段通常由其他人員組成測試小組來完成測試工作。
30、此外,應該認識到測試決不能證明程序是正確的。
31、即使經(jīng)過了最嚴格的測試之后,仍然可能還有沒被發(fā)現(xiàn)的錯誤潛藏在程序中。
32、測試只能查找出程序中的錯誤,不能證明程序中沒有錯誤。
本文分享完畢,希望對大家有所幫助。
標簽:
免責聲明:本文由用戶上傳,如有侵權請聯(lián)系刪除!