如何做好一個軟件測試
一、測試用例是軟件測試的核心
軟件測試的重要性是毋庸置疑的。但如何以最少的人力、資源投入,在最短的時間內(nèi)完成測試,發(fā)現(xiàn)軟件系統(tǒng)的缺陷,保證軟件的優(yōu)良品質(zhì),則是軟件公司探索和追求的目標。每個軟件產(chǎn)品或軟件開發(fā)項目都需要有一套優(yōu)秀的測試方案和測試方法。
影響軟件測試的因素很多,例如軟件本身的復雜程度、開發(fā)人員(包括分析、設(shè)計、編程和測試的人員)的素質(zhì)、測試方法和技術(shù)的運用等等。因為有些因素是客觀存在的,無法避免。有些因素則是波動的、不穩(wěn)定的,例如開發(fā)隊伍是流動的,有經(jīng)驗的走了,新人不斷補充進來;一個具體的人工作也受情緒等影響,等等。如何保障軟件測試質(zhì)量的穩(wěn)定?有了測試用例,無論是誰來測試,參照測試用例實施,都能保障測試的質(zhì)量。可以把人為因素的影響減少到最小。即便最初的測試用例考慮不周全,隨著測試的進行和軟件版本更新,也將日趨完善。
因此測試用例的設(shè)計和編制是軟件測試活動中最重要的。測試用例是測試工作的指導,是軟件測試的必須遵守的準則,更是軟件測試質(zhì)量穩(wěn)定的根本保障。
二、什么叫測試用例
測試用例(TestCase)目前沒有經(jīng)典的定義。比較通常的說法是:指對一項特定的軟件產(chǎn)品進行測試任務的描述,體現(xiàn)測試方案、方法、技術(shù)和策略,內(nèi)容包括測試目標、測試環(huán)境、輸入數(shù)據(jù)、測試步驟、預期結(jié)果、測試腳本等,并形成文檔。
不同類別的軟件,測試用例是不同的。不同于諸如系統(tǒng)、工具、控制、游戲軟件,管理軟件的用戶需求更加不統(tǒng)一,變化更大、更快。筆者主要從事企業(yè)管理軟件的測試。因此我們的做法是把測試數(shù)據(jù)和測試腳本從測試用例中劃分出來。測試用例更趨于是針對軟件產(chǎn)品的功能、業(yè)務規(guī)則和業(yè)務處理所設(shè)計的測試方案。對軟件的每個特定功能或運行操作路徑的測試構(gòu)成了一個個測試用例。
三、編寫測試用例
著重介紹一些編寫測試用例的具體做法。
1、測試用例文檔
編寫測試用例文檔應有文檔模板,須符合內(nèi)部的規(guī)范要求。測試用例文檔將受制于測試用例管理軟件的約束。
軟件產(chǎn)品或軟件開發(fā)項目的測試用例一般以該產(chǎn)品的軟件模塊或子系統(tǒng)為單位,形成一個測試用例文檔,但并不是絕對的。
測試用例文檔由簡介和測試用例兩部分組成。簡介部分編制了測試目的、測試范圍、定義術(shù)語、參考文檔、概述等。測試用例部分逐一列示各測試用例。每個具體測試用例都將包括下列詳細信息:用例編號、用例名稱、測試等級、入口準則、驗證步驟、期望結(jié)果(含判斷標準)、出口準則、注釋等。以上內(nèi)容涵蓋了測試用例的基本元素:測試索引,測試環(huán)境,測試輸入,測試操作,預期結(jié)果,評價標準。
2、測試用例的設(shè)置
我們早期的測試用例是按功能設(shè)置用例。后來引進了路徑分析法,按路徑設(shè)置用例。目前演變?yōu)榘垂δ堋⒙窂交旌夏J皆O(shè)置用例。
3、按功能測試是最簡捷的,按用例規(guī)約遍歷測試每一功能。
對于復雜操作的程序模塊,其各功能的實施是相互影響、緊密相關(guān)、環(huán)環(huán)相扣的,可以演變出數(shù)量繁多的變化。沒有嚴密的邏輯分析,產(chǎn)生遺漏是在所難免。路徑分析是一個很好的方法,其最大的優(yōu)點是在于可以避免漏測試。
為提高測試效率,軟件測試已大力發(fā)展自動測試。自動測試的中心任務是編寫測試腳本。如果說軟件工程中軟件編程必須有設(shè)計規(guī)格說明書,那么測試腳本的設(shè)計規(guī)格說明書就是測試用例。
4、評估測試結(jié)果的度量基準
完成測試實施后需要對測試結(jié)果進行評估,并且編制測試報告。判斷軟件測試是否完成、衡量測試質(zhì)量需要一些量化的結(jié)果。例:測試覆蓋率是多少、測試合格率是多少、重要測試合格率是多少,等等。以前統(tǒng)計基準是軟件模塊或功能點,顯得過于粗糙。采用測試用例作度量基準更加準確、有效。
5、分析缺陷的標準
通過收集缺陷,對比測試用例和缺陷數(shù)據(jù)庫,分析確證是漏測還是缺陷復現(xiàn)。漏測反映了測試用例的不完善,應立即補充相應測試用例,最終達到逐步完善軟件質(zhì)量。而已有相應測試用例,則反映實施測試或變更處理存在問題。
五、相關(guān)問題
1、測試用例的評審
測試用例是軟件測試的準則,但它并不是一經(jīng)編制完成就成為準則。測試用例在設(shè)計編制過程中要組織同級互查。完成編制后應組織專家評審,需獲得通過才可以使用。評審委員會可由項目負責人、測試、編程、分析設(shè)計等有關(guān)人員組成,也可邀請客戶代表參加。
2、測試用例的修改更新
測試用例在形成文檔后也還需要不斷完善。主要來自三方面的緣故:第一、在測試過程中發(fā)現(xiàn)設(shè)計測試用例時考慮不周,需要完善;第二、在軟件交付使用后反饋的軟件缺陷,而缺陷又是因測試用例存在漏洞造成;第三、軟件自身的新增功能以及軟件版本的更新,測試用例也必須配套修改更新。
一般小的修改完善可在原測試用例文檔上修改,但文檔要有更改記錄。軟件的版本升級更新,測試用例一般也應隨之編制升級更新版本。
3、測試用例的管理軟件
運用測試用例還需配備測試用例管理軟件。它的主要功能有三個:第一、能將測試用例文檔的關(guān)鍵內(nèi)容,如編號、名稱等等自動導入管理數(shù)據(jù)庫,形成與測試用例文檔完全對應的記錄;第二、可供測試實施時及時輸入測試情況;第三、最終實現(xiàn)自動生成測試結(jié)果文檔,包含各測試度量值,測試覆蓋表和測試通過或不通過的測試用例清單列表。
有了管理軟件,測試人員無論是編寫每日的測試工作日志、還是出軟件測試報告,都會變得輕而易舉
軟件測試現(xiàn)在好多都是服務化了,類似云計算的按需付費模式,國內(nèi)提供軟件測試的專業(yè)服務商也不少,做的最大的應該是Testin云測了。
做好測試用例的關(guān)鍵是什么?
2. 遵循“5W”原則,明確測試內(nèi)容與過程 “5W”原則包括“What(做什么)”、“Why(為什么做)”、“When(何時做)”、“Where(在哪里)”、“How(如何做)”。應用此原則來創(chuàng)建測試計劃,有助于測試團隊理解測試目的、明確測試范圍、確定時間表、了解測試方法和工具,以及確定文檔和軟件存儲位置。...
做軟件測試都要會哪些?
最好參與真實項目的測試工作,積累真實項目的測試經(jīng)驗。成為優(yōu)秀軟件測試員之提升條件,如果你想成為一個更優(yōu)秀的軟件測試員的話,除了上面那些,你也最好能夠具備開發(fā)語言即代碼編寫能力,雖然不會寫代碼也能做測試、但是如果你想做到高級測試工程師以上、那么代碼編寫能力就是必選項、如果不會寫代碼、那么...
如何才能寫好一個軟件的測試用例
寫好一個軟件的測試用例的建議有:1、測試用例名稱,也叫測試用例標題,一定要寫得簡潔、明了,需要用概括的語言描述該用例的出發(fā)點和關(guān)注點,使得測試人員第一眼看到測試用例名稱就能夠明白測試用例的目的。用例名稱中一般要求不能存在假設(shè)性的語句,并且原則上每個用例的名稱不能重復。2、預置條件要明確...
做好軟件測試計劃工作的關(guān)鍵是什么?
2)堅持“5W”規(guī)則,明確內(nèi)容與過程 “5W”規(guī)則指的是“What(做什么)”、“Why(為什么做)”、“When(何時做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”規(guī)則創(chuàng)建軟件測試計劃,可以幫助測試團隊理解測試的目的(Why),明確測試的范圍和內(nèi)容(What),確定測試的開始和結(jié)束日期(When),指出...
如何更高效地進行軟件測試的方法探討
在實際工作中,可通過以下幾個途徑提高軟件的可測試性:減少并控制需求的變更;加強軟件可測試性的設(shè)計;重視并規(guī)范技術(shù)文檔的編寫。1 減少并控制需求的變更用戶需求可分為如下三個層次:基本需求、預期需求和擴展需求三類。其中預期需求是明示的,而基本需求和擴展需求是非明示的。所謂擴展需求是指這些特征在用戶的期望范圍...
軟件測試過程一般按4個步驟進行
四個步驟為:單元測試、集成測試、系統(tǒng)測試和驗收測試。1、單元測試:集中對用源代碼實現(xiàn)的每一個程序單元進行測試,檢查各個程序模塊是否正確地實現(xiàn)了規(guī)定的功能;2、集成測試:把已測試過的模塊組裝起來,主要對與設(shè)計相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進行測試;3、系統(tǒng)測試:把已經(jīng)經(jīng)過確認的軟件納入實際運行環(huán)境...
軟件測試的十大原則
2. 所有被測軟件都應該進行嚴格的功能測試。這個原則要求我們在設(shè)計測試用例時,必須要考慮到所有可能出現(xiàn)的情況,并且需要把這些情況考慮進去。3. 如果用例中提到了一些沒有出現(xiàn)過的場景,我們就必須要做額外的測試。比如我們在設(shè)計一個有100個人同時在線瀏覽網(wǎng)頁的場景時,如果使用了這個原則來做測試,就...
做軟件測試需要具備哪些技能?
編寫測試用例、測試報告(BUG單)、軟件使用手冊是測試工程師必不可少的工作,因此word、Excel常用功能使用必須要熟練,如常用的插入圖片、表格繪制等。快速的文字輸入,也是體現(xiàn)工作效率的一個方面。8、能處理日常工作中經(jīng)常出現(xiàn)的計算機問題。除了會使用計算機,學會如何修理他,如何更好的使用它也是很重要...
軟件測試的五個基本原則
測試不足不能保證軟件產(chǎn)品的質(zhì)量,但是過度的測試投入會造成資源的浪費。隨著測試資源的增加,測試產(chǎn)出也隨之增加,但當投入達到一定比例后,測試效果并不會明顯增強。因此,測試的投入要根據(jù)實際需求和產(chǎn)品質(zhì)量來考慮,最好能讓測試的投入和產(chǎn)出達到一個足夠好的狀態(tài)。5.測試缺陷應符合二八定理 缺陷的二八...
做軟件測試都需要學那些知識
7、開發(fā)語言(做到高級軟件測試的人都是會寫點小工具的)8、測試環(huán)境配置:這個要說下、我在做配置管理的時候發(fā)現(xiàn)很多測試人員居然連自己的測試環(huán)境都配置不好、一個連自己的測試環(huán)境都不會配置的人會成為一個合格的測試么。(你要測試web的apache、tomcat、iis之類的得會配置吧)PS:希望你不要被我寫的...
相關(guān)評說:
蘆淞區(qū)斜二: ______ 首先得有計算機方面的理論知識,還有就是軟件測試理論,再就是工作經(jīng)驗的積累了
蘆淞區(qū)斜二: ______ 1、要學軟件測試,得先自己定位以哪方面為主,比如:ERP軟件、財務軟件等. 2、要多學習和使用各方面的軟件,要學習別人在某些關(guān)鍵問題的處理方式,比如:采用選擇錄入還是直接錄入等 3、定位好自己的軟件方面后,要多看相關(guān)的書籍,比如:想弄ERP軟件就得學習客戶管理、企業(yè)管理的流程、財務的相關(guān)知識等 4、有條件的話最好和一些開發(fā)團隊一起實踐下. 5、要有很強的耐心和足夠的細心,要不怕苦,可能會經(jīng)常熬夜的,有些問題的測試是需要反復N次的. 6、加強自己的文字功底,學會寫軟件需求有利于你的軟件測試的提高,半年之內(nèi)估計有點難,除非你有很好的基礎(chǔ)(軟件基礎(chǔ)、企業(yè)相關(guān)管理知識基礎(chǔ)—比如銷售流程的制定、采購流程的制定等)
蘆淞區(qū)斜二: ______ 首先你要了解需求,知道要這個軟件要有哪些功能需要制作成什么樣,還有軟件的業(yè)務流程是否樣的,邏輯是什么樣的,界面樣式,性能,安全,等等,需要你在介入測試前作好準備,最好的辦法是寫測試用例,然后執(zhí)行這個些用例,測試過程中了去驗證這些功能是否有實現(xiàn),業(yè)務流程是否實現(xiàn),邏輯是否正常,這樣才能保證軟件的功能測試全面,完整,我這里講得也很籠統(tǒng),你可以在網(wǎng)上找點軟件測試的相關(guān)資料看看,特別 是測試流程,每個流程應該注意些什么,做些什么,希望能幫到你!
蘆淞區(qū)斜二: ______ (1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程(2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案(3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試.(4)測試并不僅僅是為了找出錯誤.通過分析錯誤產(chǎn)生的原因和錯誤的發(fā)生趨勢,可以幫助項目管理者發(fā)現(xiàn)當前軟件開發(fā)過程中的缺陷,以便及時改進.(5)這種分析也能幫助測試人員設(shè)計出有針對性的測試方法,改善測試的效率和有效性(6)沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定軟件質(zhì)量的一種方法(7)另外,根據(jù)測試目的的不同,還有回歸測試、壓力測試、性能測試等,分別為了檢驗修改或優(yōu)化過程是否引發(fā)新的問題、軟件所能達到處理能力和是否達到預期的處理能力等.
蘆淞區(qū)斜二: ______ From:檸檬班學習群:333782754 在實際工作中,可通過以下幾個途徑提高軟件的可測試性:減少并控制需求的變更;加強軟件可測試性的設(shè)計;重視并規(guī)范技術(shù)文檔的編寫.1 減少并控制需求的變更 用戶需求可分為如下三個層次:基本需求...
蘆淞區(qū)斜二: ______ 軟件開發(fā)期要我認為更重要的是要做好測試的前期準備. 比如測試用例的編寫與評審. 測試硬件環(huán)境的準備. 當然. 同樣可以在需求中找到邏輯bug. 不過既然進入了開發(fā)期. 想必需求肯定是評審過了. 如果該項目可以分段分塊開發(fā). 則可以提前介入測試. 分塊更新. 可以節(jié)省部分時間. 但是也要注意最后一塊更新之后做全局回歸測試.
蘆淞區(qū)斜二: ______ 第一步:具備軟件測試常識 軟件測試行業(yè)就像一個圍城,很多圍城外的人想要進來,一沒7a64e4b893e5b19e31333365653261有高人指點,領(lǐng)你進去;二沒有人借梯子給你讓你走進去.所以說,如果你是跨專業(yè)或者是換職業(yè)來做軟件測試工程...
蘆淞區(qū)斜二: ______ 其實軟件測試不是學的,測試只是一種方法. 而要了解你要測試的東西才是你要做的. 舉個例子來說:你對QQ很熟悉,如果要你測試,你會說出一堆的case(用例). 而要你測試一下某公司新出的金融軟件,你就犯難了. 有經(jīng)驗的tester也...
蘆淞區(qū)斜二: ______ 這位同仁,您好,我也是先做了一段時間的開發(fā),然后轉(zhuǎn)做測試的, 剛開始一般都要熟悉公司常用的測試工具,并且在同事指導下學習編寫測試用例 接著會給你一些測試用例自己測試.后期開始根據(jù)開發(fā)部門的文檔編寫測試例 這只是我的一些個人經(jīng)驗,僅供參考
蘆淞區(qū)斜二: ______ 要想學好軟件測試那就要從以下幾個方面去努力了: 軟件測試理論:軟件測試概念、軟件測試計劃、軟件測試用例、軟件測試管理、軟件測試結(jié)果分析、軟件測試報告等 軟件測試工具:管理工具、功能測試工具、性能測試工具、自動化測試工具等 軟件測試實戰(zhàn):多實踐 經(jīng)驗總結(jié):測試結(jié)束后要進行得失總結(jié) 交流:注意同行之間的交流、與開發(fā)人員間的交流、與客戶交流 思考:多思考、多動腦 學習:經(jīng)常學習他人經(jīng)驗,學習新技術(shù),充實自己