軟件分為系統(tǒng)軟件撵割、應用軟件,支持軟件
軟件分為單機和分布式軟件
分布式的軟件架構有兩種,
CS(client server)架構:需要安裝客戶端的(eg:qq)
BS架構:沒有客戶端的(只需安裝一個瀏覽器與數據庫交換數據如論壇)。
軟件測試的定義:
- 軟件測試是為了發(fā)現錯誤而運行程序的過程永毅。
- 使用人工或自動手段來運行或測試某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預期結果與實際結果之間的差別人弓。
軟件測試的目的
- 軟件測試是程序的執(zhí)行過程沼死,目的在于發(fā)現錯誤。
- 通過分析錯誤崔赌,發(fā)現當前所采用的軟件過程缺陷意蛀,改進軟件過程。
- 通過對測試業(yè)務的深入了解健芭,對新產品的改進提出有意義的建議县钥。
- 驗證產品符合質量標準。
軟件測試的必備素質
- 溝通能力
- 責任心
- 懂得尊重
- 探索精神
- 洞察力
- 自信力
軟件測試工程師的必備技能
- 測試知識
- 編程技能
- 數據庫知識
- 網絡知識
軟件測試的分類
按測試技術劃分慈迈,分為黑盒測試和白盒測試
黑盒測試:黑盒測試是指不基于內部設計和代碼的任何知識若贮,而基于需求和功能性的測試,黑盒測試也也稱功能測試或數據驅動測試痒留。
黑盒測試依據:需求規(guī)格說明書谴麦。
黑盒測試的優(yōu)點:能夠站在用戶的立場上進行測試。
黑盒測試的缺點:不能測試程序內部的特定部位伸头,如果需求規(guī)格說明書有誤匾效,則無法發(fā)現。白盒測試:白盒測試是基于一個應用代碼的內部邏輯知識恤磷,即基于覆蓋全部代碼面哼、分支、路徑扫步、條件的測試魔策。白盒測試也稱結構測試或邏輯驅動測試。
白盒測試依據:程序內部結構河胎。
白盒測試的優(yōu)點:能夠對程序內部的特地部位進行覆蓋測試闯袒。
白盒測試的缺點:無法檢驗程序的外特性,無法對未實現規(guī)格說明的程序內部欠缺部分進行測試仿粹。
按照測試階段分類劃分
-
單元測試:又稱為模塊測試搁吓,是針對程序模塊(軟件設計的最小單位)來進行正確性檢驗的測試工作。
單元測試的目的:
- 驗證單元代碼和詳細設計文檔的一致性吭历。
- 發(fā)現在編碼過程中引入的錯誤。
- 減少開發(fā)人員的調試代碼時間擂橘。
- 大幅度減少后期缺陷的數量晌区。
-
集成測試:是在單元測試的基礎上,將所有模塊按照概要設計要求(如根據流程圖)組裝成為子系統(tǒng)或系統(tǒng)而進行的測試。
集成測試的目的
- 驗證各個子模塊組合起來朗若,能否達到預期要求的功能恼五。
- 驗證一個模塊的功能是否會對另一個模塊的功能產生不利的影響。
-
系統(tǒng)測試:是將通過集成測試的軟件哭懈,作為整個基于計算機系統(tǒng)的一個元素灾馒,與計算機硬件、外設遣总、某些支持軟件睬罗、數據和人員等其他系統(tǒng)元素結合在一起,在實際運行環(huán)境下旭斥,對計算機系統(tǒng)進行全面的功能覆蓋容达。
系統(tǒng)測試的目的
- 驗證軟件產品是否滿足用戶需求。
系統(tǒng)測試的分類(不止這些垂券,常見的分類而已)
- 性能測試:對產品的各個功能進行驗證花盐,檢查產品是否達到了用戶要求的功能。
- 性能測試:通過自動化工具模式正常菇爪、峰值及異常負債條件算芯,檢查系統(tǒng)各項性能指標是否滿足需求。
- 安全性測試:驗證應用程序的安全級別和識別潛在安全性缺陷凳宙。
- 易用性測試:測試用戶在使用軟件時也祠,軟件交互的適應性、功能性和有效性近速。
- 兼容性測試:測試軟件在不同的平臺诈嘿、不同的網絡環(huán)境、不同的應用軟件之間能否友好的運行削葱。
- 驗收測試
軟件開發(fā)模型
軟件開發(fā)模型:是指軟件開發(fā)全部過程奖亚、活動和任務的結構框架。它能清晰析砸、直觀地表達軟件開發(fā)全過程昔字,明確規(guī)定了要完成的主要活動和任務。
瀑布模型:計劃->需求分析->設計->編碼->測試->運行.維護(從上到下)(當前活動接受上一項活動的工作結果)(當前活動的工作結果需要進行驗證)首繁。
缺點:由于開發(fā)模型是線性的作郭,增加開發(fā)風險,早期的錯誤可能要等到開發(fā)后期的階段才能發(fā)現弦疮。V模型:
用戶需求->需求分析->概要設計->詳細設計->編碼->單元測試->集成測試->系統(tǒng)測試->驗收測試
夹攒。敏捷模型:先把最重要的功能做出來,然后將新功能迭代在新版本上胁塞,不斷增加軟件內容咏尝。
軟件測試流程
需求分析和討論->編寫測試計劃->測試設計->測試執(zhí)行->缺陷管理->測試報告压语。
測試用例的設計方法
- 等價類劃分法:一種最典型的黑盒測試方法,把程序的輸入劃分成若干個部分编检,從每個部分中選取少數代表性數據作為測試用例胎食,每一類的代表性數據在測試中的作用等價于這一類中的其他值。
- 設計測試用例:設計一個測試用例允懂,使他能夠盡量覆蓋尚未覆蓋的有效等價類厕怜,重復該操作,從而使所有有效等價類均被覆蓋蕾总,設計一個測試用粥航,使它能夠覆蓋一個無效等價類,重復該操作谤专,從而使所有無效等價類均被覆蓋躁锡。
- 在輸入條件規(guī)定了取值范圍或值的個數的情況下,可以確定一個有效等價類置侍、兩個無效等價類映之。
- 在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件下,可以確立一個有效等價類蜡坊、一個無效等價類杠输。
- 在輸入條件是一個布爾量(不是這個就是那個)的情況下,可以確定一個有效等價類秕衙、一個無效等價類蠢甲。
- 在規(guī)定了輸入數據的一組值(假定N個),并且程序要求對每一個輸入值分別處理的情況下据忘,可以確定N個有效等價類和一個無效等價類
- 在規(guī)定了輸入數據必須遵守的規(guī)則的情況下鹦牛,可以確定一個有效等價類,若干個無效等價類勇吊。
2. 邊界值分析法:一種與等價類劃分相關的黑盒測試方法曼追,錯誤隱藏在角落里,問題聚集在邊界上汉规。
- 應當選取正好等于礼殊、剛剛大于或剛剛小于邊界值作為測試數據,重點測試最后一個肯定合法的數據和剛剛超過邊界的非法數據针史,通常和等價類劃分一起使用晶伦,產生一套完整的測試用例。
- 如果輸入條件對取值范圍進行了界定啄枕,則應對邊界內部以及恰巧超出邊界外的值來作為測試用例婚陪。
- 如果對取值的個數進行了界定,則應當分別以最大個數射亏、最小個數近忙、比最大個數大1或小1竭业、比最小個數大1或小1作為測試用例智润。