軟件測試的分類(lèi)
軟件測試的分類(lèi)方法有很多種:
1.按測試內容分,分為以下幾個(gè)類(lèi)型
(1)功能測試。功能測試基于需求和功能,檢查軟件是否達到原定的功能標準而不必理會(huì )軟件內部的結構即代碼的實(shí)現。
(2)性能測試。著(zhù)重于軟件的運行速度、負荷、兼容性、健壯性(容錯能力/恢復能力)、安全性、可靠性等。
(3)接口測試。程序員對各個(gè)模塊進(jìn)行系統聯(lián)調的測試,包含程序內接口和程序外接口測試。這個(gè)測試,在單元測試階 段進(jìn)行了一部分工作,而大部分都是在集成測試階段完成的。由開(kāi)發(fā)人員進(jìn)行。
2.按測試階段來(lái)分,分為以下幾種類(lèi)型
(1)單元測試
(2)集成測試
(3)系統測試
(4)alpha測試
(5)beta測試
(6)確認測試
3.按測試技術(shù)來(lái)分,分為以下幾個(gè)方面
(1)白盒測試
(2)黑盒測試
4.按測試手段來(lái)分,分為以下幾個(gè)方面
(1)手工測試
(2)計算機輔助測試
軟件測試的幾大原則:
1.軟件開(kāi)發(fā)人員即程序員應當避免測試自己的程序

測試模型---W模型不管是程序員還是開(kāi)發(fā)小組都應當避免測試自己的程序或者本組開(kāi)發(fā)的功能模塊。若條件允許,應當由獨立于開(kāi)發(fā)組和客戶(hù)的第三方測試組或測試機構來(lái)進(jìn)行軟件測試。但這并不是說(shuō)程序員不能測試自己的程序,而且更加鼓勵程序員進(jìn)行調試,因為測試由別人來(lái)進(jìn)行可能會(huì )會(huì )更加有效、客觀(guān),并且容易成功,而允許程序員自己調試也會(huì )更加有效和針對性。
2. 應盡早地和不斷地進(jìn)行軟件測試
應當把軟件測試貫穿到整個(gè)軟件開(kāi)發(fā)的過(guò)程中,而不應該把軟件測試看作是其過(guò)程中的一個(gè)獨立階段。因為在軟件開(kāi)發(fā)的每一環(huán)節都有可能產(chǎn)生意想不到的問(wèn)題,其影響因素有很多,比如軟件本身的抽象性和復雜性、軟件所涉及問(wèn)題的復雜性、軟件開(kāi)發(fā)各個(gè)階段工作的多樣性,以及各層次工作人員的配合關(guān)系等。所以要堅持軟件開(kāi)發(fā)各階段的技術(shù)評審,把錯誤克服在早期,從而減少成本,提高軟件質(zhì)量。
3.對測試用例要有正確的態(tài)度:第一,測試用例應當由測試輸入數據和預期輸出結果這兩部分組成;第二,在設計測試用例時(shí),不僅要考慮合理的輸入條件,更要注意不合理的輸入條件。因為軟件投入實(shí)際運行中,往往不遵守正常的使用方法,卻進(jìn)行了一些甚至大量的意外輸入導致軟件一時(shí)半時(shí)不能做出適當的反應,就很容易產(chǎn)生一系列的問(wèn)題,輕則輸出錯誤的結果,重則癱瘓失效!因此常用一些不合理的輸入條件來(lái)發(fā)現更多的鮮為人知的軟件缺陷。
4.人以群分,物以類(lèi)聚,軟件測試也不例外,一定要充分注意軟件測試中的群集現象,也可以認為是“80-20原則”。不要以為發(fā)現幾個(gè)錯誤并且解決這些問(wèn)題之后,就不需要測試了。反而這里是錯誤群集的地方,對這段程序要重點(diǎn)測試,以提高測試投資的效益。
5.嚴格執行測試計劃,排除測試的隨意性,以避免發(fā)生疏漏或者重復無(wú)效的工作。
6.應當對每一個(gè)測試結果進(jìn)行全面檢查。一定要全面地、仔細地檢查測試結果,但常常被人們忽略,導致許多錯誤被遺漏。
7.妥善保存測試用例、測試計劃、測試報告和最終分析報告,以備回歸測試及維護之用。
在遵守以上原則的基礎上進(jìn)行軟件測試,可以以最少的時(shí)間和人力找出軟件中的各種缺陷,從而達到保證軟件質(zhì)量的目的。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/