引論:我們?yōu)槟砹?3篇軟件測試項目總結(jié)范文,供您借鑒以豐富您的創(chuàng)作。它們是您寫作時的寶貴資源,期望它們能夠激發(fā)您的創(chuàng)作靈感,讓您的文章更具深度。
篇1
1信息系統(tǒng)軟件測試分析
信息系統(tǒng)軟件測試在不同研發(fā)模型中所分階段不同,而區(qū)別于不同的研發(fā)模型,整個軟件測試過程一般都需要經(jīng)過測試策劃、測試設(shè)計、測試執(zhí)行、測試總結(jié)四個基本活動。測試策劃活動主要進(jìn)行需求分析,識別軟件測試項、測試所需軟硬件、人力資源等;測試設(shè)計活動主要根據(jù)識別的軟件測試項設(shè)計測試用例,包括手工測試用例、自動化測試用例等;測試執(zhí)行活動通過手工、自動執(zhí)行測試,發(fā)現(xiàn)軟件缺陷,進(jìn)行軟件缺陷歸零驗證;測試總結(jié)活動對測試執(zhí)行結(jié)果進(jìn)行整理分析,編寫測試報告。同樣的,基于國產(chǎn)化平臺研發(fā)的信息系統(tǒng)軟件測試亦需要經(jīng)過測試策劃、測試設(shè)計、測試執(zhí)行、測試總結(jié)四個活動。1)測試策劃活動進(jìn)行需求分析、識別軟件測試項依賴于軟件自身需求,其與研發(fā)平臺具有無關(guān)性,識別測試所需的軟硬件則取決于研發(fā)平臺。目前國產(chǎn)化平臺的測試工具也面臨著起步晚、發(fā)展時間短的問題,應(yīng)用于國產(chǎn)化平臺的軟件測試工具種類遠(yuǎn)沒有豐國產(chǎn)化平臺軟件測試工具豐富[2]。測試策劃過程中需要識別出可用于國產(chǎn)化平臺的測試軟件是其要解決的重要問題,一方面取決于已有的測試軟件,另一方面取決于信息系統(tǒng)的技術(shù)實現(xiàn)。2)測試設(shè)計活動所編寫的手工測試用例取決于被測信息系統(tǒng)軟件自身,而編寫自動化測試用例則取決于所使用的自動化測試平臺,不同的自動化測試平臺所適用的軟件類別不同。基于國產(chǎn)化的自動化測試平臺選擇范圍小,且成熟度相比于非國產(chǎn)化平臺并不高。因此測試設(shè)計階段所面臨的是被測信息系統(tǒng)軟件的可實現(xiàn)自動化測試的用例覆蓋程度問題。3)測試執(zhí)行活動一方面是執(zhí)行測試用例,另一方面還需要對軟件缺陷進(jìn)行分析定位,對被測信息系統(tǒng)的內(nèi)存、CPU、網(wǎng)絡(luò)、磁盤IO等指標(biāo)進(jìn)行監(jiān)控,其對國產(chǎn)化平臺依賴性較高。國產(chǎn)化平臺的操作系統(tǒng)、數(shù)據(jù)庫、中間件乃至辦公軟件所提供的分析、監(jiān)控工具直接影響著軟件測試的執(zhí)行和軟件缺陷的分析定位。目前,國產(chǎn)計算機環(huán)境的應(yīng)用面、規(guī)模相對較小,應(yīng)對復(fù)雜環(huán)境時,兼容性、綜合性能、可靠性驗證不充分,缺乏有效的診斷分析工具和測試評估環(huán)境[1]。測試執(zhí)行過程中面臨著如何充分利用國產(chǎn)化平臺所提供的分析和監(jiān)控工具完成測試執(zhí)行、如何通過第三方輔助軟件解決國產(chǎn)化平臺自身不具備的功能完成測試執(zhí)行的問題。4)測試總結(jié)活動為測試過程的最后一個活動,對測試執(zhí)行的結(jié)果進(jìn)行整理分析。對于國產(chǎn)化平臺研發(fā)的信息系統(tǒng),測試總結(jié)需要分析前幾項測試活動的結(jié)果形成測試報告,還需要對測試技術(shù)形成積累,為基于國產(chǎn)化平臺信息系統(tǒng)的軟件測試持續(xù)發(fā)展提供經(jīng)驗。圖1為信息系統(tǒng)軟件測試活動圖以及基于國產(chǎn)化平臺進(jìn)行軟件測試活動的所要解決的關(guān)鍵問題。
2軟件測試技術(shù)應(yīng)用
2.1測試策劃
國產(chǎn)化平臺信息系統(tǒng)軟件測試策劃活動所面臨的主要問題是識別測試所需軟件項,應(yīng)用于項目,需要結(jié)合項目自身特點。每個項目的系統(tǒng)架構(gòu)、軟件開發(fā)語言、運行環(huán)境等各不一樣,因此在識別時結(jié)合被測軟件,從三個方面解決測用所需軟件:開源軟件[3]、商用軟件、自研軟件。圖2所示在項目測試過程中開源軟件、商用軟件、自研軟件選擇比重,其中開源軟件選擇優(yōu)先,其次可通過自研軟件、商用軟件覆蓋測試所需。1)開源軟件具有成本低、靈活性高、自由的優(yōu)勢,國產(chǎn)化平臺信息系統(tǒng)識別測試所需軟件項可以優(yōu)先從開源軟件中選擇,獲取滿足項目軟件功能測試、性能測試、接口測試、安全測試、可靠性測試等測試類型的開源軟件。2)開源軟件在支持方面、文檔方面、穩(wěn)定性方面不如商業(yè)軟件,對于測試軟件要求高的項目可選擇商用軟件進(jìn)行支撐。商用軟件具有支持度高、日常更新、技術(shù)難度低的優(yōu)勢,采用商用軟件可以避免測試過程中的一些無法解決問題。3)商用軟件所提供的是適用于大多數(shù)用戶需求的接口,對于被測軟件,在不同的測試階段、不同測試類型中,存在商用軟件無法實現(xiàn)測試內(nèi)容的場景,需要項目通過研發(fā)專用測試工具以實現(xiàn)測試覆蓋,解決測試軟件問題。
2.2測試設(shè)計
測試設(shè)計過程中可以通過編寫自動化測試用例代替手工測試的反復(fù)操作,自動化測試用例覆蓋率高可以有效地提高測試用例復(fù)用率和執(zhí)行效率。基于國產(chǎn)化平臺信息系統(tǒng)軟件自動化測試在采用的自動化測試平臺上,可以通過不同維度的測試用例設(shè)計增加自動化測試用例覆蓋率,即分別從單元測試、接口測試、GUI測試分別設(shè)計自動化測試用例[4]。自動化軟件測試用例設(shè)計一般遵循圖3所示的三角形用例覆蓋率比例,單元測試與代碼直接相關(guān),軟件代碼改動對單元自動化用例的影響較小,單元測試自動化用例覆蓋率最高,其次是接口測試自動化用例。GUI自動化測試用例實現(xiàn)難度高,且受代碼改動影響大,因此其自動化測試用例覆蓋率最低。國產(chǎn)化平臺信息系統(tǒng)軟件自動化測試平臺缺少Q(mào)TP、Loadrunner等工具,目前只有少數(shù)自動化平臺支持國產(chǎn)化操作系統(tǒng),如kylinTOP自動化測試工具,除此之外,還可以采用Selenium、Python等實現(xiàn)自動化測試。此類軟件對于GUI自動化測試與非國產(chǎn)化軟件類似,因此國產(chǎn)化平臺信息系統(tǒng)自動化測試用例亦需要遵循圖3的測試用例覆蓋率。
2.3測試執(zhí)行
在測試執(zhí)行過程中需要對信息系統(tǒng)軟件缺陷進(jìn)行分析定位、對信息系統(tǒng)的指標(biāo)進(jìn)行監(jiān)控。信息系統(tǒng)的缺陷分析和指標(biāo)監(jiān)控包括兩部分,一部分與依賴的國產(chǎn)化平臺相關(guān),另一部分與信息系統(tǒng)軟件自身相關(guān)。與國產(chǎn)化平臺相關(guān)的缺陷分析和指標(biāo)監(jiān)控可以采用國產(chǎn)化平臺自持軟件,目前國產(chǎn)操作系統(tǒng)、國產(chǎn)數(shù)據(jù)庫軟件、國產(chǎn)中間件軟件等均具備滿足監(jiān)控平臺自身指標(biāo)的工具[5]。基于國產(chǎn)化平臺的第三方測試工具如WGCLOUD、PIGOSS、SugarNMS等可以實現(xiàn)多平臺、分布式監(jiān)控。表1為這三款工具軟件可支持的國產(chǎn)化平臺以及可用于信息系統(tǒng)軟件測試的監(jiān)控項。
2.4測試總結(jié)
篇2
用戶對軟件產(chǎn)品質(zhì)量的要求不斷提高,促使軟件企業(yè)把提高軟件質(zhì)量作為增強競爭力的策略。提高軟件質(zhì)量要素在哪里?可以通過采用軟件設(shè)計技術(shù),加強軟件過程管理,實施軟件測試等方法。從提高軟件質(zhì)量的顯著程度、投資回報率和可實施性等方面比較,實施有效的軟件測試,提高軟件測試的效率,是保證軟件質(zhì)量的顯著方法。
軟件測試是通過技術(shù)、流程、工具、人員以及管理手段,檢測軟件文檔、軟件中間產(chǎn)品和最終產(chǎn)品,查找和報告軟件缺陷、錯誤以及隱患的專業(yè)技術(shù)。通過跟蹤缺陷、錯誤及隱患的修正過程,確保軟件產(chǎn)品、中間產(chǎn)品和文檔符合軟件工程過程需求和用戶的最終需求。
軟件測試創(chuàng)新之道
軟件測試在國內(nèi)仍處于起步階段,各種軟件測試的方法、技術(shù)和標(biāo)準(zhǔn)都還在探索階段。國內(nèi)軟件行業(yè)規(guī)模普遍偏小,缺乏大型軟件產(chǎn)品經(jīng)驗,開發(fā)過程不夠規(guī)范,這決定了國內(nèi)軟件質(zhì)量和測試行業(yè),必須根據(jù)國內(nèi)行業(yè)現(xiàn)狀,確定軟件質(zhì)量目標(biāo)和測試策略方法,而不是照搬照抄國外成熟軟件企業(yè)的測試方法。
觀念創(chuàng)新
提高軟件質(zhì)量的決定因素不是軟件測試技術(shù),而是對軟件質(zhì)量和測試的思想觀念。只有把提高軟件質(zhì)量上升到企業(yè)戰(zhàn)略發(fā)展的高度,才能從根本上解決問題。長期以來,國內(nèi)軟件行業(yè)對軟件質(zhì)量重視程度不足,對于軟件測試的作用認(rèn)識不夠,造成項目因質(zhì)量問題造成進(jìn)度推遲甚至失敗。
為了徹底改變這種被動現(xiàn)象,企業(yè)高層管理人員必須從管理思想、資源支持等方面為軟件質(zhì)量和測試部門提供全力支持。軟件項目經(jīng)理必須堅持軟件開發(fā)和軟件測試并行處理并且互相協(xié)調(diào)。軟件開發(fā)人員重視和配合軟件測試人員。
觀念創(chuàng)新不要僅停留在口頭上,而要落實在具體行動上,通過軟件質(zhì)量和測試的有效流程進(jìn)行推動,通過過程改進(jìn)進(jìn)行提高。通過有效組織管理,形成“以重視軟件質(zhì)量為榮,以輕視軟件質(zhì)量為恥”的工作氛圍。
流程創(chuàng)新
測試流程決定軟件質(zhì)量。軟件測試如同軟件開發(fā)一樣,需要經(jīng)過收集測試需求、確定測試策略、設(shè)計測試、執(zhí)行測試、分析測試等流程。軟件測試不是軟件開發(fā)的最后階段,而是貫穿于軟件項目的整個生命周期。
軟件測試流程既不是僵化的生搬硬套,也不是隨機的增添取舍。軟件企業(yè)的質(zhì)量管理部門和項目開發(fā)團隊需要根據(jù)公司技術(shù)、資源現(xiàn)狀,針對項目的特點和客戶需求,從保證軟件質(zhì)量、項目進(jìn)度和測試成本等方面,進(jìn)行優(yōu)化設(shè)計并且不斷改進(jìn)流程管理。對于項目周期長、應(yīng)用領(lǐng)域廣、對質(zhì)量要求高的軟件,必須制定和遵守嚴(yán)格的測試流程。
測試流程創(chuàng)新的目標(biāo)是在公司內(nèi)部制定和執(zhí)行完善的項目質(zhì)量管理體系。優(yōu)化項目生產(chǎn)方式,跟蹤和度量生產(chǎn)過程和產(chǎn)品,使得生產(chǎn)過程和各階段產(chǎn)品處于可控制和可度量狀態(tài),保證產(chǎn)品符合客戶的功能和進(jìn)度需求。
技術(shù)創(chuàng)新
軟件測試是一項軟件工程領(lǐng)域的專業(yè)技術(shù),而不是簡單的把軟件測試認(rèn)為隨便找個人運行幾次軟件,就可以發(fā)現(xiàn)全部的軟件問題。前文已經(jīng)提到,軟件測試需求和測試設(shè)計是決定軟件測試效果的關(guān)鍵因素,因此,加強測試技術(shù)創(chuàng)新的重點是在測試需求和設(shè)計設(shè)計的創(chuàng)新。
在軟件測試技術(shù)創(chuàng)新方面,要避免陷入過度追求自動化測試技術(shù)的誤區(qū)。自動化測試確實可以在某些方面顯著提高測試效率和準(zhǔn)確性,但是自動化測試只適合測試軟件的某些方面的質(zhì)量,80%左右的軟件缺陷是靠測試人員手工測試發(fā)現(xiàn)的。
對于某些特別需要自動化測試的軟件特性,需要加強開發(fā)軟件測試工具,而不是全部依賴市場上的現(xiàn)有測試工具。這是因為商業(yè)工具功能繁多,價格昂貴,培訓(xùn)和學(xué)習(xí)周期很長,選擇不當(dāng)就會造成巨大浪費。
管理創(chuàng)新
軟件測試管理的目標(biāo)是實現(xiàn)軟件質(zhì)量、進(jìn)度、成本之間的最佳平衡。有效的測試管理需要企業(yè)管理層、軟件開發(fā)團隊、質(zhì)量保證與測試團隊通力合作,采用計劃、組織、領(lǐng)導(dǎo)、控制等手段,組建高效團隊,制定完善的測試流程,做好測試設(shè)計,有效執(zhí)行測試,加強過程跟蹤,從而順利完成質(zhì)量保證和測試任務(wù)。
測試管理創(chuàng)新的核心是軟件質(zhì)量和測試的團隊建設(shè),軟件質(zhì)量和測試是技術(shù)密集型活動,團隊的知識結(jié)構(gòu)、創(chuàng)造力和凝聚力是保證測試流程、測試技術(shù)充分實施的基礎(chǔ)。質(zhì)量和測試團隊建設(shè)的重點是設(shè)置和培養(yǎng)各類技術(shù)和管理人才,進(jìn)行有效交流,形成良好的評估和促進(jìn)機制。
測試管理創(chuàng)新的另一個重點是測試管理平臺建設(shè)。包括構(gòu)建測試項目管理的集成系統(tǒng),實現(xiàn)公司產(chǎn)品和項目數(shù)據(jù)信息的有效管理和順序控制,使項目數(shù)據(jù)透明化,技術(shù)知識有效傳承,項目質(zhì)量和進(jìn)度數(shù)據(jù)化、圖形化。可以根據(jù)公司的現(xiàn)狀,購買軟件測試管理的商業(yè)工具,也可以內(nèi)部開發(fā)軟件測試管理工具。
軟件測試技術(shù)路線圖
如果把軟件測試之道成為測試戰(zhàn)略,要發(fā)揮測試戰(zhàn)略的現(xiàn)實意義,需要把測試戰(zhàn)略轉(zhuǎn)化為測試戰(zhàn)術(shù)。測試的“道”與“術(shù)”的無縫集成,才能顯著地、持續(xù)地、逐步地提高軟件產(chǎn)品質(zhì)量。實施軟件測試的戰(zhàn)術(shù)是一系列過程的組合,涉及測試團隊建設(shè)、流程設(shè)計、測試平臺、測試管理等多個方面。
測試團隊建設(shè)
測試團隊可以是測試部,也可以是測試組。公司規(guī)模決定了測試團隊的大小和組織形式。測試團隊建設(shè)需要執(zhí)行兩個原則:第一,測試團隊必須獨立于開發(fā)團隊,而不是附屬于開發(fā)團隊,實現(xiàn)測試的獨立性和公正性;第二,測試團隊必須具有明確的工作目標(biāo),即發(fā)現(xiàn)和報告軟件缺陷,推動和確認(rèn)缺陷修正,協(xié)助軟件開發(fā)的過程改進(jìn),提高軟件整體質(zhì)量。
軟件測試團隊根據(jù)規(guī)模可以設(shè)置多個職位,每個職位具有明確的崗位職責(zé)。例如,測試部門經(jīng)理、測試項目經(jīng)理、測試組長、測試架構(gòu)師、高級測試工程師、測試工程師等。對于剛剛成立的測試團隊,可以一個人兼任多個職位,完成多項測試任務(wù)。測試人員的總數(shù)應(yīng)該與開發(fā)人員相適應(yīng),最好在1:1到1:2之間。
流程設(shè)計
測試流程設(shè)計必須與軟件設(shè)計流程相對應(yīng),基本測試流程包括測試需求分析、測試計劃設(shè)計、測試用例設(shè)計、測試執(zhí)行、測試評價、測試總結(jié)等。
根據(jù)軟件需求和軟件設(shè)計規(guī)格說明進(jìn)行測試需求分析,測試需求分析的目的是明確需要測試的對象、特征、范圍和方法,從而制定測試計劃,確定測試策略。
測試計劃設(shè)計是為了有效配置測試過程、人員和工具,充分利用現(xiàn)有的資源,按照項目計劃進(jìn)度,組織有效的測試。測試計劃設(shè)計的輸出結(jié)果是測試計劃文檔,它是指導(dǎo)軟件測試活動的綱領(lǐng)性文檔。
測試用例設(shè)計是指導(dǎo)具體測試內(nèi)容和方法的關(guān)鍵內(nèi)容,如果需要執(zhí)行自動化測試,還需要依靠測試用例設(shè)計生成對應(yīng)的測試腳本。測試用例設(shè)計的輸出結(jié)果是不同類型的測試用例,這些測試用例必須以標(biāo)準(zhǔn)、一致的形式設(shè)計、評審、存儲、更新。
測試執(zhí)行是報告軟件缺陷的階段,根據(jù)軟件計劃的進(jìn)度,分配測試內(nèi)容,構(gòu)建測試環(huán)境,依靠測試用例運行測試程序和程序文檔。測試執(zhí)行的輸出結(jié)果是缺陷報告、測試進(jìn)度報告等。
測試評價是度量軟件測試執(zhí)行效率和有效性的過程。測試評價的輸入是測試用例的執(zhí)行情況,軟件缺陷的報告數(shù)據(jù)。測試評價的輸出包括測試用例的有效性分析,軟件缺陷的類型和有效性分析等,測試進(jìn)度和有效性分析等。
測試總結(jié)包括測試過程每天或者每周的過程總結(jié),也包括測試項目結(jié)束后的測試項目總結(jié)。測試總結(jié)的輸出是測試總結(jié)報告,總體評價軟件質(zhì)量,指出測試存在的問題,提出改進(jìn)的方法和進(jìn)程,總計測試的有效經(jīng)驗。
測試平臺設(shè)計
測試平臺設(shè)計包括測試技術(shù)平臺設(shè)計和測試管理平臺設(shè)計。測試技術(shù)平臺包括設(shè)計測試環(huán)境,設(shè)計或設(shè)置測試工具等。測試管理平臺設(shè)計包括測試文檔系統(tǒng)設(shè)計、測試版本配置管理、缺陷數(shù)據(jù)庫設(shè)計、測試進(jìn)度和質(zhì)量分析系統(tǒng)設(shè)計。
測試技術(shù)平臺設(shè)計需要根據(jù)測試計劃的測試內(nèi)容和測試環(huán)境要求,組織軟件、硬件、數(shù)據(jù)庫和網(wǎng)絡(luò)等,這經(jīng)常是一項較為耗時的工作,同時它影響著測試的正確性,必須盡快在測試開始階段完成,最好采用有效的方法把搭建的測試環(huán)境進(jìn)行備份保存,以便今后可以快速恢復(fù),重復(fù)利用。
測試管理平臺設(shè)計,影響測試管理的復(fù)雜度,好的測試管理平臺可以使測試管理人員,方便地跟蹤、查詢、分析測試進(jìn)度,評估測試人員的工作績效,評價測試的總體質(zhì)量。對于測試技術(shù)人員而言,可以方便的尋找測試對象和測試文檔,報告和輸出測試結(jié)果,共享測試數(shù)據(jù),提高測試效率。
測試管理
測試管理關(guān)注人員、過程、產(chǎn)品三要素的互動與變化,測試管理包含項目計劃和組織結(jié)構(gòu)管理,測試階段管理,時間、資源和質(zhì)量管理,文檔管理和團隊管理等。測試部門經(jīng)理、測試項目經(jīng)理和測試組長是測試管理的主要執(zhí)行者,需要與測試團隊成員、開發(fā)人員、公司管理人員密切配合。
篇3
2軟件測試過程中的風(fēng)險應(yīng)對分析
2.1風(fēng)險識別與風(fēng)險量化
對軟件進(jìn)行項目風(fēng)險管理,可以在最短時間內(nèi)得到項目目標(biāo),項目風(fēng)險管理以潛在風(fēng)險最小化作為目標(biāo),軟件測試項目風(fēng)險管理中包含軟件風(fēng)險識別、軟件風(fēng)險量化、軟件風(fēng)險應(yīng)對計劃制定以及軟件風(fēng)險控制。其中,軟件風(fēng)險識別需要工作人員在軟件測試項目風(fēng)險管理開始之前進(jìn)行,并在整個項目執(zhí)行中不斷完成,軟件風(fēng)險識別在項目整個生命周期以內(nèi)屬于連續(xù)過程。軟件風(fēng)險識別包含了風(fēng)險來源確定、風(fēng)險產(chǎn)生條件辨別,測試人員要詳細(xì)表述風(fēng)險特征,確定這些風(fēng)險是否會影響到軟件測試項目的正常運行,對于軟件測試項目風(fēng)險管理來說,風(fēng)險識別不是一次就能完成的,而是應(yīng)該在項目的全過程進(jìn)行。
2.2風(fēng)險應(yīng)對計劃與風(fēng)險監(jiān)控
針對風(fēng)險量化結(jié)果,為了降低軟件測試項目的負(fù)面效應(yīng),測試人員會制定相應(yīng)的解決措施和技術(shù)手段,做好風(fēng)險管理計劃,完成風(fēng)險認(rèn)知,為風(fēng)險監(jiān)控提供技術(shù)基礎(chǔ)。人們可以使用多種方式作為風(fēng)險控制方法,利用核對表對項目進(jìn)行定期評估與凈值分析,風(fēng)險監(jiān)控的輸出包含對風(fēng)險的錯誤糾正和軟件測試項目管理計劃更新,軟件測試項目中發(fā)現(xiàn)風(fēng)險以后對其加以分析,確定相對重要性與影響程度,為來自內(nèi)部與外部的風(fēng)險提供標(biāo)識,對每一種風(fēng)險進(jìn)行科學(xué)評估,計算出風(fēng)險發(fā)生的可能性與最終結(jié)果,對風(fēng)險進(jìn)行分類,為風(fēng)險處理提供可操作信息。在經(jīng)典風(fēng)險管理過程中,主要會使用到Boehm、CRM、Leavitt、Boehm等多種模型,使用這種方式很有可能造成人員不足或者成本不夠的問題,測試人員在開始進(jìn)行軟件項目開發(fā)的時候就要對潛在風(fēng)險進(jìn)行總結(jié),將所有的風(fēng)險形成表格形式,并在軟件測試項目生命周期內(nèi)進(jìn)行會議討論,更新表格。應(yīng)當(dāng)對可能出現(xiàn)的惡劣后果因素進(jìn)行準(zhǔn)確評估,對于當(dāng)前最緊急的風(fēng)險進(jìn)行決定和處理,制定控制風(fēng)險的基本應(yīng)對措施,評測和保證風(fēng)險策略開展的有效性。
3總結(jié)
總而言之,人們從第三方軟件測試角度進(jìn)行軟件測試時,不僅要進(jìn)行完善的質(zhì)量管理,還會進(jìn)行項目風(fēng)險管理,對風(fēng)險進(jìn)行評估與排序,確定不同風(fēng)險給軟件帶來的影響,探究風(fēng)險發(fā)生概率,進(jìn)一步保證軟件的質(zhì)量,降低產(chǎn)品維護費用,提高用戶滿意程度,降低軟件責(zé)任風(fēng)險,提高經(jīng)濟效益。
參考文獻(xiàn)
篇4
中圖分類號:G642.44 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-0079(2013)14-0126-02
近年來,隨著中國內(nèi)需市場的增長和國內(nèi)外外包企業(yè)的合作加深,我國的軟件外包行業(yè)得到了迅速發(fā)展。軟件測試作為軟件外包的主營業(yè)務(wù)之一,是加快軟件企業(yè)與國際接軌,實現(xiàn)產(chǎn)品國際化的重要手段。隨著軟件開發(fā)流程的系統(tǒng)化和規(guī)范化,我國軟件企業(yè)對軟件測試的需求逐步增大,因此高校計算機專業(yè)中的軟件測試人才具有良好的就業(yè)前景。
由于軟件測試工作的特殊性,需要從業(yè)者不僅掌握一定的軟件技術(shù),同時也要對軟件測試的方法和流程具備相當(dāng)?shù)慕?jīng)驗。通過高校教育培養(yǎng)出來的計算機專業(yè)應(yīng)屆畢業(yè)生,雖然能夠掌握基本的軟件開發(fā)技術(shù)和軟件測試?yán)碚摚侨狈嶋H的測試經(jīng)驗和相應(yīng)的行業(yè)背景知識,離企業(yè)的需求尚有一定的差距。目前高校計算機專業(yè)中軟件測試教學(xué)仍以理論為主,實踐動手能力和項目背景經(jīng)驗的培養(yǎng)相對不足,這些矛盾導(dǎo)致學(xué)生就業(yè)時很難適應(yīng)企業(yè)的用人要求,企業(yè)也必須對招入的應(yīng)屆畢業(yè)生進(jìn)行培訓(xùn),花費相當(dāng)?shù)娜肆臀锪Α?/p>
項目實訓(xùn)是解決高校和企業(yè)之間供需矛盾的有效手段。在日常教學(xué)計劃中引入項目實訓(xùn),以實際測試任務(wù)為驅(qū)動,按照企業(yè)規(guī)范進(jìn)行流程管理,讓學(xué)生掌握測試過程中各階段的技能,理論聯(lián)系實踐地接受企業(yè)化的鍛煉。通過實訓(xùn)課程,使學(xué)生不但能夠?qū)W習(xí)到實際測試經(jīng)驗,而且能夠增強團隊意識,進(jìn)一步縮小畢業(yè)生與職業(yè)測試工程師之間的差距。
一、軟件測試項目實施
1.測試項目簡介
本文所述的軟件測試實訓(xùn)項目是基于校企共建模式,由南京工業(yè)大學(xué)(以下簡稱“我校”)軟件外包實驗室提供軟件測試的場所和專用的硬件設(shè)備,從合作的軟件公司引入相應(yīng)的測試平臺、管理流程和測試報告文檔的測試項目。
本項目的內(nèi)容是針對前期開發(fā)的教師管理系統(tǒng)進(jìn)行測試。該系統(tǒng)是教學(xué)部門的業(yè)務(wù)管理支撐系統(tǒng),測試主要圍繞教師信息的查詢和更新操作的管理。通過對這些功能模塊的測試,增強系統(tǒng)的易用性、穩(wěn)定性、可配置性,消除信息孤島,進(jìn)一步提高數(shù)據(jù)信息的應(yīng)用水平。
在測試環(huán)境搭建過程中,服務(wù)器的軟硬件配置要與該系統(tǒng)的實際運行環(huán)境保持一致。對于測試計劃、測試方案和測試用例等文檔的修改、更新操作,則采用svn版本管理工具來進(jìn)行控制。學(xué)生可以通過svn服務(wù)器平臺,按照進(jìn)度提交每日的測試用例文檔,并填寫日志記錄測試進(jìn)度和每天的測試工作。
2.實訓(xùn)計劃和人員管理
軟件測試實訓(xùn)安排在我校外包實驗室中進(jìn)行,采用與企業(yè)相同的管理模式集中訓(xùn)練,由相關(guān)教師和企業(yè)工程師來指導(dǎo)測試流程。測試團隊的成員來自于我校電子與信息工程學(xué)院計算機專業(yè)的大三、大四學(xué)生,以及對軟件測試感興趣的相近專業(yè)的學(xué)生。這些學(xué)生具備基本的軟件編程能力,并且對測試的基本理論有一定的了解。根據(jù)學(xué)生自身水平和對項目的熟悉程度,可以將其劃分為不同角色,其中包括開發(fā)人員和測試人員。開發(fā)人員由原來參與系統(tǒng)開發(fā)的部分學(xué)生擔(dān)任。測試人員可以分成不同的小組測試不同的模塊,每個小組設(shè)置一個測試組長,負(fù)責(zé)測試項目管理,其余組員則負(fù)責(zé)執(zhí)行測試用例,各小組都有一名教師作為指導(dǎo)教師,控制模塊的測試進(jìn)度。整個測試實訓(xùn)項目安排在假期進(jìn)行,用時半個月,每天工作8小時。每天早晨由測試組長安排當(dāng)天的測試任務(wù),并對前一天的測試結(jié)果進(jìn)行總結(jié)。在每個時間節(jié)點,由指導(dǎo)教師和小組成員對相關(guān)測試文檔進(jìn)行評審。
3.測試項目進(jìn)程
本項目的實際流程圖如圖1所示,在項目初始階段,擔(dān)任開發(fā)人員角色的學(xué)生敘述產(chǎn)品需求和業(yè)務(wù)流程,為編寫測試計劃做準(zhǔn)備。該測試項目主要分為5個階段:測試計劃制定、測試方案編寫、測試用例設(shè)計、多輪系統(tǒng)測試和測試系統(tǒng)報告提交。每個階段都力求達(dá)到規(guī)范化、細(xì)致化的測試目標(biāo),同時每個階段都要經(jīng)過教師和各個組員之間的評審,如果評審?fù)ㄟ^,可以開始下一階段的工作;如果不通過,則需要完善后繼續(xù)評審直到通過。
(1)測試計劃制定。在了解了教師管理系統(tǒng)的需求以后,結(jié)合學(xué)生的基本情況、系統(tǒng)模塊數(shù)量和測試的周期來制定測試計劃。測試計劃要涵蓋測試的范圍和環(huán)境、測試人員的管理和測試進(jìn)度安排。考慮到參與實訓(xùn)項目的學(xué)生缺乏相關(guān)經(jīng)驗,因此測試計劃要重點突出每個測試小組所對應(yīng)的系統(tǒng)模塊,以及測試流程中每個階段所對應(yīng)的完成日期。該測試計劃由各組組長和指導(dǎo)教師制定,最后需各小組評審后通過。
(2)測試方案編寫。測試方案是按照系統(tǒng)需求說明書詳細(xì)的分析測試的模塊,指導(dǎo)后續(xù)的測試用例的編寫工作,重點在于對模塊具體功能的理解和測試對象的分析。在這一階段,首先由擔(dān)任開發(fā)人員角色的學(xué)生來介紹系統(tǒng)模塊的基本功能,并以文檔的形式向?qū)?yīng)測試組成員提交;然后由指導(dǎo)教師以具體測試點為例,介紹詳細(xì)的測試用例寫法;最后,由各組組長將測試任務(wù)分配給組員,各組員在理解的基礎(chǔ)上開始測試用例的設(shè)計。測試方案完成以后由各組組長匯總,并在組內(nèi)進(jìn)行評審。
(3)測試用例設(shè)計。測試用例的編寫是針對各功能模塊測試而設(shè)計的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果,也是本實訓(xùn)項目的重點內(nèi)容。在對模塊的特性和功能了解的基礎(chǔ)上,設(shè)計系統(tǒng)的測試點,設(shè)計時應(yīng)考慮角色權(quán)限、驗證點和測試描述。在設(shè)計驗證點的過程中,鼓勵學(xué)生展開討論,力求做到無疏漏;同時在測試描述時,可以將等價類劃分、邊界值、錯誤推測等常用方法與書本理論相結(jié)合,通過具體的實例加深學(xué)生對所學(xué)知識的理解。最終的測試用例以Excel表格形式列出,其中包括編號、重要級別、操作步驟、預(yù)期輸出和實際測試結(jié)果等條目。
(4)多輪系統(tǒng)測試。按照測試用例的具體內(nèi)容,可以進(jìn)行多輪的系統(tǒng)測試。根據(jù)測試結(jié)果,扮演開發(fā)人員角色的學(xué)生對缺陷進(jìn)行修改。通過這一過程,不但使學(xué)生認(rèn)識到開發(fā)過程中存在的問題,而且積累了開發(fā)經(jīng)驗,為今后規(guī)范化的編程打下了基礎(chǔ)。
(5)測試報告提交。通過半個月的實訓(xùn),學(xué)生經(jīng)歷了規(guī)范化的測試流程,測試報告的編寫是對測試內(nèi)容的概括和總結(jié)。報告的內(nèi)容主要有以下三個方面:通過對測試結(jié)果的分析,得到對軟件質(zhì)量的評價;總結(jié)本次的測試過程,為制定以后的測試計劃提供參考;評估本次測試計劃和測試執(zhí)行是否符合規(guī)范。通過本次實訓(xùn),學(xué)生普遍體會到從理論知識到實踐的過程,明確了規(guī)范化的軟件測試方法,同時對軟件編寫中隱含的錯誤和缺陷也有了一定的認(rèn)識,為今后的軟件開發(fā)打下一定的基礎(chǔ)。
二、軟件測試實訓(xùn)存在的問題和解決辦法
本次軟件測試實訓(xùn)基本達(dá)到了預(yù)期的效果,學(xué)生不但學(xué)到了規(guī)范化的測試流程,提高了職業(yè)軟件素養(yǎng),而且通過互動和交流,發(fā)現(xiàn)了教學(xué)中存在的一些需要解決的問題。首先,本次軟件測試實訓(xùn)是針對上一次實訓(xùn)開發(fā)的系統(tǒng),離企業(yè)的實際系統(tǒng)測試尚有一些差距;其次,參與的學(xué)生缺乏實際經(jīng)驗,對軟件測試認(rèn)識不足,導(dǎo)致測試方案和測試用例編寫不夠規(guī)范、完善;另外,相應(yīng)的管理需要加強,在實訓(xùn)過程中存在遲到、早退以及缺席的現(xiàn)象,從而影響了測試進(jìn)度。
針對以上問題,在今后的實訓(xùn)過程中,測試項目要盡量切合企業(yè)的實際需求,同時在測試方案和測試用例的評審中,要加強教師和學(xué)生的溝通,強調(diào)測試流程的規(guī)范性,可以多鼓勵高水平的學(xué)生帶低水平的學(xué)生。另外,可以采取企業(yè)現(xiàn)行管理方式對實訓(xùn)進(jìn)行管理,如引入考勤制度、評審制度等。
三、結(jié)語
軟件測試是我國軟件產(chǎn)業(yè)高速發(fā)展中需求缺口較大的一個行業(yè),培養(yǎng)具有相關(guān)經(jīng)驗和符合企業(yè)需求的軟件測試人才是目前高校計算機專業(yè)需要解決的核心問題之一。本文通過研究軟件測試實訓(xùn)項目,探索了軟件測試專業(yè)人才的培訓(xùn)方式以及在此過程中遇到的問題,對研究校企聯(lián)合的人才培養(yǎng)模式具有重要意義。
參考文獻(xiàn):
篇5
Key words: software systems;testing;safety;quality;problems;influence;management
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1006-4311(2014)19-0204-02
0 引言
隨著軟件市場的發(fā)展越來越成熟,人們對軟件作用的期望值逐漸增高,就使得人們將關(guān)注點轉(zhuǎn)移到軟件的質(zhì)量和功能的可靠性上,因此軟件產(chǎn)業(yè)在中國市場產(chǎn)品測試領(lǐng)域有著嚴(yán)重的不足。我們不得不承認(rèn),國產(chǎn)軟件市場相對國際先進(jìn)的軟件來看,無論在質(zhì)量上還是成熟度上都存在著一定的差距。盡管國外軟件也存在不少錯誤和漏洞,但是很少存在由于低級失誤或大意而出現(xiàn)的軟件產(chǎn)品質(zhì)量問題。但是國內(nèi)由于低級錯誤而造成的嚴(yán)重產(chǎn)品質(zhì)量問題卻時常發(fā)生,為了改變中國軟件產(chǎn)業(yè)的前途和命運必須提高軟件測試水平。因此,軟件測試對軟件產(chǎn)品質(zhì)量、控制成本、軟件可靠性、企業(yè)的競爭力等方面起著重要的作用。
1 什么是軟件測試及軟件測試的目的
隨著軟件規(guī)模的不斷增大和軟件復(fù)雜性的日益增加,軟件測試也顯得越來越重要,軟件測試工作是非常講究策略和方法的工作,需要我們努力學(xué)習(xí)達(dá)到先進(jìn)領(lǐng)域的頂峰。軟件測試就是在受控制的條件下對系統(tǒng)或應(yīng)用程序進(jìn)行操作并進(jìn)行評價操作結(jié)果的一個過程,其中所謂控制條件主要就是兩種,即正常條件與非正常條件。而軟件測試主要是為了進(jìn)行“探測”,通過探測發(fā)現(xiàn)軟件自身的毛病,加以改進(jìn)。軟件測試貫穿于軟件開發(fā)的整個周期,其中軟件的規(guī)格說明書和結(jié)構(gòu)設(shè)計的程序編碼等,都屬于軟件測試的對象。進(jìn)行軟件測試的主要目的就是為了保證軟件產(chǎn)品的最終質(zhì)量,因此,我們在進(jìn)行軟件開發(fā)的過程中,就需要對產(chǎn)品的質(zhì)量進(jìn)行控制,以避免出現(xiàn)不合格的產(chǎn)品。
2 加強對軟件測試工作的項目管理
2.1 軟件測試的關(guān)鍵問題 軟件測試的關(guān)鍵問題就需要我們從以下四個方面進(jìn)行分析:首先,測試由誰來執(zhí)行。因此軟件產(chǎn)品的開發(fā)設(shè)計通常由軟件開發(fā)者和軟件測試者兩種角色組成。一般開發(fā)者主要通過開發(fā)形成產(chǎn)品,然后由測試者來檢驗產(chǎn)品中是否存在缺陷。通常的測試工作是由開發(fā)者負(fù)責(zé)完成自己所開發(fā)的代碼單元測試,然后測試者承擔(dān)系統(tǒng)測試。其次,測試什么。通常測試經(jīng)驗表明,程序中的故障,并不一定是由于編碼導(dǎo)致的問題,所以為了排除故障就要追溯到前期的工作。但是很多時候,軟件需求分析、設(shè)計和實施階段是軟件故障的主要來源。第三,什么時候進(jìn)行測試。軟件進(jìn)行測試可以在開發(fā)中進(jìn)行測試,可以在各個模塊完成一個整體的程序后進(jìn)行測試。最后,怎樣進(jìn)行測試。對軟件進(jìn)行測試就是根據(jù)軟件的功能和規(guī)范說明以及程序的實現(xiàn),就需要我們進(jìn)行各種測試,然后生成有效的測試用例,對軟件進(jìn)行測試。
軟件測試的目的就是為了證明程序中是否有故障存在,以此找出解決的問題,所以在進(jìn)行測試的時候,要有周全的計劃,這樣才能從軟件中找出缺陷和錯誤,然后通過發(fā)現(xiàn)的問題進(jìn)行處理。軟件測試的原則就是盡早并及時測試應(yīng)用軟件,然后由專業(yè)人員進(jìn)行軟件的測試,測試用例應(yīng)完整完全,嚴(yán)格執(zhí)行測試計劃,保存測試的分析報告以備今后應(yīng)用。
2.2 軟件測試方法管理 軟件測試的方法主要有白盒測試法和黑盒測試法兩種。其中白盒測試法又稱之為結(jié)構(gòu)測試、基于程序的測試和邏輯驅(qū)動測試,白盒測試法大部分用于單元測試中。而黑盒測試法又被稱為功能性測試、數(shù)據(jù)驅(qū)動測試或給予規(guī)格說明的測試,多數(shù)用于獨立測試中,并不考慮程序結(jié)構(gòu)和內(nèi)部特征,只在于檢查輸入與輸出之間的關(guān)系是否符合要求。
測試信息流程,測試過程中需要三類輸入:
①軟件配置:包括軟件需求規(guī)格說明、軟件設(shè)計規(guī)格說明、源代碼等。
②測試配置:包括測試計劃、測試用例、測試驅(qū)動程
序等。
③測試工具:為了提高測試效率,就需要我們采用測試工具以支持測試的工作,主要包括測試數(shù)據(jù)自動生成程序、驅(qū)動測試的測試數(shù)據(jù)庫等。但是測試工具不是萬能的,工具只能解決工具的問題,使用工具的畢竟是人。工具在解決效率問題上是非常擅長的。這個就類似我們看的武俠小說中寶劍和劍譜的關(guān)系,沒有武功心法,你拿到寶劍也沒用。
軟件測試的周期是測試改錯再測試再改錯這樣一個循環(huán)的過程測試終止的依據(jù)主要有五類標(biāo)準(zhǔn):
①測試超過了預(yù)定時間,則終止測試。
②執(zhí)行了所有的測試用例,但沒有發(fā)現(xiàn)故障,則終止測試。
③使用特定的測試用例設(shè)計方案作為判斷測試終止的基礎(chǔ)。
④正面指出終止測試的具體要求,即終止測試的標(biāo)準(zhǔn)可定義為查出某一預(yù)定數(shù)目的故障,如規(guī)定發(fā)現(xiàn)并修改了多少個故障就可以終止測試。
⑤根據(jù)單位時間內(nèi)查出故障的數(shù)量決定是否終止
測試。
3 小結(jié)
綜上所述,軟件測試的事務(wù)性操作較多,但是進(jìn)行這些操作,我們需要有一個良好的心態(tài)去對待。其中良好的團隊合作才能保證開發(fā)過程的順利進(jìn)行,在工作過程中還需要我們進(jìn)行總結(jié),對于問題我們需要有則改之,無則加冕。因為軟件開發(fā)是一件比較辛苦的事情,我們只有在工作中對經(jīng)驗多總結(jié),才能找到符合自己的方式方法,才會在工作中事半功倍。在軟件開發(fā)中應(yīng)掌握其中蘊含的軟件測試流程思想,并有效的將測試管理融入到項目管理中,優(yōu)化軟件開發(fā)流程,提高產(chǎn)品質(zhì)量。
中國軟件公司的規(guī)模和產(chǎn)品的開發(fā)層次在不斷的完善和發(fā)展中,因此很多公司開始謀求國家軟件的訂單,因此外包業(yè)務(wù)成為軟件行業(yè)一個新的增長點。但是由于國內(nèi)的軟件測試水平與國外用戶的要求相差甚遠(yuǎn),就需要我國軟件行業(yè)無論是在人力、管理還是組織或技術(shù)上都有大幅度的提升,重視軟件測試,使之能夠與世界先進(jìn)的軟件公司測試標(biāo)準(zhǔn)接軌,這也是我國軟件能夠邁出國門的重要前提前提因素。
參考文獻(xiàn):
[1]孫俊若,席曉強,葉波,林潔.機載雷達(dá)軟件開發(fā)全周期測試技術(shù)研究[J].現(xiàn)代雷達(dá),2010(01).
[2]徐宗云,王世偉.基于SOA架構(gòu)的PDM系統(tǒng)與制造管理系統(tǒng)集成設(shè)計與實現(xiàn)[J].冶金自動化,2010(01).
[3]祝莎莎,陳勇,齊永陽,陳戈.虛擬現(xiàn)實軟件VRGIS的項目進(jìn)度管理研究及應(yīng)用[J].中國高新技術(shù)企業(yè),2010(01).
[4]斌斌.掙值分析法在信息系統(tǒng)項目中的應(yīng)用[J].網(wǎng)絡(luò)與信息,2010(01).
篇6
0 引言
軟件測試形成了一個新興的行業(yè)。軟件測試的工作貫穿于整個軟件產(chǎn)品生產(chǎn)過程的始終,是保證軟件質(zhì)量的有效手段。軟件測試課程是軟件工程專業(yè)的必修課程之一,是一門理論性和實踐性都很強的專業(yè)課。該課程對于人才的培養(yǎng)目標(biāo)是:掌握軟件測試和軟件質(zhì)量的基本理論、常用的測試方法和自動化測試工具,能夠編寫測試計劃、設(shè)計測試用例、完成軟件初步測試。
目前軟件測試行業(yè)人才嚴(yán)重不足。據(jù)企業(yè)專職軟件測試人員分布調(diào)查,27.5%的企業(yè)目前沒有專業(yè)的軟件測試人員,43.5%的企業(yè)軟件測試人員的數(shù)量在1~10人之間。為了適應(yīng)行業(yè)人才需求,國內(nèi)高校紛紛開設(shè)軟件測試課程。但軟件測試在國內(nèi)高校中尚屬一門新興的課程,缺少對不同開發(fā)方式和應(yīng)用場景的軟件測試方法介紹,學(xué)生對軟件測試過程缺乏完整的認(rèn)識,學(xué)習(xí)主動性不高,甚至認(rèn)為軟件測試是一門文字性課程。如何進(jìn)行軟件測試教學(xué)方法調(diào)整以適應(yīng)業(yè)界需求已成為一個亟待解決的問題。
1 軟件測試課程教學(xué)存在的主要問題
1.1 學(xué)生學(xué)情分析
軟件測試是對軟件形成過程中的文檔、數(shù)據(jù)和程序等內(nèi)容進(jìn)行測試,而不僅僅是對程序進(jìn)行測試,這需要學(xué)生對軟件工程的基礎(chǔ)理論,系統(tǒng)的分析設(shè)計,軟件的開發(fā)技術(shù)等有一定的了解。
在還沒有完全理解軟件工程相關(guān)理論時,就開始進(jìn)行軟件測試課程的學(xué)習(xí),會導(dǎo)致學(xué)生對軟件測試?yán)斫獾钠睢@纾J(rèn)為軟件測試就是找出軟件項目中的錯誤,是簡單而枯燥的工作,因而只重視開發(fā)技術(shù)的培養(yǎng),不重視甚至忽略測試技術(shù)的掌握。
1.2 教學(xué)材料分析
軟件測試方面的書籍大多是翻譯的,而且多是培訓(xùn)用書或介紹軟件測試工具的書,而能夠滿足高校軟件測試課程的教材較少。在當(dāng)前市面上的軟件測試教材中,大部分也只是闡述空洞的理論,附加簡單而又陳舊的工具介紹,這些理念和工具很多已經(jīng)被業(yè)界淘汰,這樣的教材難以適應(yīng)當(dāng)前市場對軟件測試人才的需求。
軟件測試工具較多、范圍廣、不易把握重點,而大部分測試工具如:LoadRunner、WinRunner、JUnit、C++Test等都是英文版本,工具書較難讀懂。教學(xué)過程中沒有相關(guān)的軟件產(chǎn)品供學(xué)生測試,以驗證所學(xué)的理論,達(dá)不到理想的教學(xué)效果。
1.3 教學(xué)方法分析
傳統(tǒng)教學(xué)手段是以課堂教授為主的“灌輸式”教學(xué)。教師授課時主要是在分析一門課程知識結(jié)構(gòu)的基礎(chǔ)上,循序漸進(jìn)地講授一門課程的知識點,學(xué)生按部就班地學(xué)習(xí)知識點。傳統(tǒng)教學(xué)法過于理論,學(xué)生往往在學(xué)了一堆理論知識后對如何測試實際項目還是很茫然。雖然傳統(tǒng)教學(xué)法在某些教學(xué)環(huán)節(jié)也會給出一些實例或小項目,但是對于整個課程來說,這些實例或小項目是孤立的、彼此沒有聯(lián)系的,以至學(xué)生掌握的知識也是零散的,不系統(tǒng)的,缺乏對課程的整體把握。
1.4 考核方式分析
課程考核是課程教學(xué)過程中的重要一環(huán),是檢測和促進(jìn)學(xué)生學(xué)習(xí)效果的重要手段。目前學(xué)生考核體系基本以閉卷形式的終結(jié)性考核成績?yōu)橹鳎钥记凇⒄n堂表現(xiàn)、作業(yè)等組成的平時成績?yōu)檩o的考核方式。這種方式存在的問題主要是:以期末考試成績?yōu)橹兀己藘?nèi)容相對片面,注重的是軟件測試基礎(chǔ)理論知識,對軟件測試應(yīng)用知識的能力考查不夠,過分注重書本知識而忽略了軟件測試綜合應(yīng)用能力的整體考查。
2 基于項目驅(qū)動的軟件測試教學(xué)法探索
欲改善上述局面,就應(yīng)結(jié)合學(xué)生的專業(yè)特色,在教學(xué)過程中以實際工程項目為主線,把軟件項目的整體思想納入到本課程中來,讓學(xué)生在學(xué)習(xí)過程中積累項目測試經(jīng)驗,掌握項目測試的流程,增加學(xué)生對課程目的性的認(rèn)識,提高學(xué)生的積極性。
項目驅(qū)動式教學(xué)法是一種建立在建構(gòu)主義學(xué)習(xí)理論基礎(chǔ)上的、有別于傳統(tǒng)教學(xué)的新型教學(xué)方法。建構(gòu)既是對新知識的理解與掌握,同時又包含對原有經(jīng)驗和知識的改造和重組,綜合形成新的知識建構(gòu)。該方法提倡以學(xué)生為中心的學(xué)習(xí)。在整個教學(xué)過程中教師起組織者、指導(dǎo)者、幫助者和促進(jìn)者的作用,教師利用情境、協(xié)作、會話等學(xué)習(xí)環(huán)境要素充分發(fā)揮學(xué)生的主動性、積極性和創(chuàng)造性,最終使學(xué)生有效地掌握當(dāng)前所學(xué)知識。
2.1 軟件項目前期準(zhǔn)備階段
項目是項目驅(qū)動教學(xué)的核心,整個教學(xué)過程都始終圍繞項目展開。項目設(shè)置的好壞將直接影響到教學(xué)效果,因此在設(shè)計項目上應(yīng)注意以下幾點。
2.1.1 項目具有典型性
項目教學(xué)法中應(yīng)選擇以解決身邊的現(xiàn)實問題為背景材料,從熟悉項目著手能充分激發(fā)學(xué)生的學(xué)習(xí)熱情。項目能覆蓋學(xué)生已經(jīng)學(xué)習(xí)過的知識點,如:軟件工程的基礎(chǔ)理論,系統(tǒng)的分析設(shè)計,軟件的開發(fā)技術(shù),從源頭上保證知識的完整性。
2.1.2 項目規(guī)模、難度適中
項目教學(xué)法中選擇的項目規(guī)模和難度都應(yīng)適中。如果項目規(guī)模和難度過大,軟件測試用例的設(shè)計難度大,學(xué)生不容易完成。項目規(guī)模和難度過小,則涉及的知識點少,不能反映學(xué)生對軟件測試用例設(shè)計的理解程度。因此,設(shè)計的項目應(yīng)保證學(xué)生通過努力能夠完成,這樣可以樹立學(xué)生完成任務(wù)的信心,充分調(diào)動學(xué)生的積極性和主觀能動性。
2.1.3 項目規(guī)范
由于軟件測試是對軟件形成過程中的文檔、數(shù)據(jù)、程序,以及所有相關(guān)文檔進(jìn)行測試,所以被測軟件應(yīng)該是按照軟件工程思想設(shè)計開發(fā)的,每個階段的工作都應(yīng)當(dāng)在文檔中體現(xiàn)出來,文檔撰寫有嚴(yán)格的標(biāo)準(zhǔn)和規(guī)范。
項目來源:
途徑1:所在學(xué)院的每門課程都有多名教師建立的課程群,測試案例可以由教授面向?qū)ο蟪绦蛟O(shè)計、綜合課程設(shè)計、系統(tǒng)分析與設(shè)計等課程的教師提出要求,選擇典型的作品充實案例庫。
途徑2:從畢業(yè)設(shè)計中選擇,大四的學(xué)生都要作畢業(yè)設(shè)計,教師可以從其提取一些典型系統(tǒng),充實案例庫。
途徑3:來自學(xué)生科研項目,每年都有大量的學(xué)生申報科研項目,教師可以收集其優(yōu)秀作品,充實案例庫。
途徑4:來自校企合作項目,教師在和企業(yè)合作開發(fā)項目時,在合同允許的情況下,將開發(fā)系統(tǒng)作為實際案例,充實案例庫。
2.2 基于項目驅(qū)動的軟件測試教學(xué)法實施
基于項目驅(qū)動的軟件測試教學(xué)法實施是在學(xué)生已完成軟件系統(tǒng)分析與設(shè)計的實踐,并有一定的編程能力的基礎(chǔ)上設(shè)計的,涉及兩種活動流:教學(xué)流和測試流。
⑴ 教學(xué)流
由于軟件測試課程的知識點前后關(guān)聯(lián)關(guān)系不大,教師在教學(xué)流過程中,不必在講清楚課程的基礎(chǔ)知識和基本技能后再進(jìn)行項目的教學(xué),可直接面對具體任務(wù)進(jìn)行教學(xué)。在教師帶領(lǐng)學(xué)生分析解決具體項目的方法時,將相關(guān)聯(lián)的知識點串聯(lián)起來,讓學(xué)生在學(xué)習(xí)各階段的理論知識同時,完成軟件相應(yīng)的測試活動。
基于項目驅(qū)動的教學(xué)流按照項目測試流程大體可分為三個階段:軟件測試基礎(chǔ)、軟件測試技術(shù)和軟件測試管理。
第一階段,學(xué)生主要進(jìn)行部分軟件開發(fā)和相應(yīng)產(chǎn)品的靜態(tài)測試。在開發(fā)的過程中通過規(guī)范的開發(fā)文檔和測試文檔,給學(xué)生展示單元測試、集成測試和系統(tǒng)測試的密切關(guān)系,讓學(xué)生深刻認(rèn)識到軟件測試是緊密伴隨軟件開發(fā)過程而進(jìn)行的活動。
第二階段,主要進(jìn)行測試設(shè)計和實現(xiàn)。軟件測試中對具體項目常常有多種測試方法,教師可只講解其中最實用的方法。其他方法的應(yīng)用作為討論、實驗、課外作業(yè)的形式由學(xué)生完成,讓學(xué)生在完成項目實踐的過程中學(xué)習(xí)知識、解決問題、提高技能。本階段的教學(xué)應(yīng)只包括對重點教學(xué)內(nèi)容的講解,其過程應(yīng)該精練,以便為學(xué)生學(xué)習(xí)提供廣泛的空間,為學(xué)生順利完成項目打下良好的基礎(chǔ)。
第三階段,主要進(jìn)行測試管理和報告。通過測試用例管理工具、案例以及規(guī)范的軟件測試報告的介紹和展示,讓學(xué)生深刻認(rèn)識軟件測試需要規(guī)范的測試管理過程,軟件測試中測試需求、測試用例、測試業(yè)務(wù)組件、測試計劃、測試執(zhí)行、測試結(jié)果、缺陷都需要進(jìn)行合理的規(guī)劃和管理。
⑵ 測試流
基于項目驅(qū)動的測試流是由教師給定多個項目,并提出測試要求,教學(xué)過程中將團隊測試的思想貫穿始終,將學(xué)生分成若干小組,以小組為單位完成項目測試。每個小組由1個項目組長、1個測試組長和3個測試組員構(gòu)成。小組內(nèi)部責(zé)任明確,選擇有較強實踐能力和溝通能力學(xué)生擔(dān)任項目組長,負(fù)責(zé)制定測試方案、任務(wù)分配和人員協(xié)調(diào)工作。選擇有較強學(xué)習(xí)能力和技術(shù)能力學(xué)生擔(dān)任測試組長,負(fù)責(zé)分析軟件需求、獲得測試需求、制定測試策略方案、確定測試方法。小組內(nèi)每個學(xué)生必須完成最基本的任務(wù),即測試用例的設(shè)計、編寫、執(zhí)行和維護等各項任務(wù)。
測試流執(zhí)行過程中,學(xué)生探究性地學(xué)習(xí)相關(guān)的知識和技能,在知識運用中掌握實踐技能。通過任務(wù)的實施和完成,讓學(xué)生體驗到知識應(yīng)用的成就感,增強學(xué)習(xí)的積極性,促使學(xué)生更加主動地、探索性地學(xué)習(xí)相關(guān)的知識和技能,使知識技能的掌握更加牢固。測試流執(zhí)行過程中,教師為項目組提供相關(guān)的學(xué)習(xí)資料資源,引導(dǎo)學(xué)生有目的性、有針對性地學(xué)習(xí),同時關(guān)注學(xué)生開展項目的全過程,嚴(yán)格要求按照項目的具體實施流程進(jìn)行,比如軟件測試項目必須按照測試計劃、測試設(shè)計、測試執(zhí)行和測試結(jié)果分析來進(jìn)行,每個階段的工作必須撰寫規(guī)范的技術(shù)報告。
測試流的最后階段,教師組織各測試小組進(jìn)行課程設(shè)計答辯。答辯時,組間相互評價,從文檔規(guī)范性、測試方法的正確性和有效性、測試技術(shù)應(yīng)用的廣泛性等方面選出最優(yōu)測試小組。最終經(jīng)過教師對學(xué)生單人考核,結(jié)束本次測試流教學(xué)。
3 結(jié)束語
本文針對軟件測試課程教學(xué)中存在的問題,提出采用項目驅(qū)動的教學(xué)模式,通過教學(xué)流、測試流兩種活動流,將軟件測試?yán)碚撝R融入到實踐活動中。該教學(xué)模式打破了傳統(tǒng),激發(fā)了學(xué)生的學(xué)習(xí)興趣,有利于學(xué)生對測試過程形成一個整體認(rèn)識,符合軟件工程系統(tǒng)化思想。由于軟件測試相關(guān)理論還在不斷完善,實驗理論、實驗方法手段、實驗技術(shù)正在飛速發(fā)展,這就需要我們在教學(xué)過程中不斷地探索、總結(jié)、完善軟件測試教學(xué)的內(nèi)容和方法,進(jìn)一步提高課程的教學(xué)效果和質(zhì)量。
參考文獻(xiàn):
[1] 龔宇輝.軟件測試課程教學(xué)改革研究[J].教育與職業(yè),2010.24:
130-131
[2] 張向宏.軟件測試?yán)碚撆c實踐教程[M].人民郵電出版社,2009.
[3] 聶長海.關(guān)于軟件測試的幾點思考[J].計算機科學(xué),2011.38(2):1-3
篇7
1 軟件測試中的質(zhì)量問題及對進(jìn)度的影響
在軟件測試過程中,影響質(zhì)量的因素非常多,比如代碼的行數(shù)多少,它與最終的測試質(zhì)量上反比的,代碼行數(shù)越少,測試質(zhì)量就越高,測試的時間充分,測試的質(zhì)量就越高。測試時間壓力對最終的測試質(zhì)量影響非常大。工作人員的經(jīng)驗水平還有很多其他因素都會對質(zhì)量產(chǎn)生影響。質(zhì)量有問題,就會影響整個工程的進(jìn)度,所以為了保證質(zhì)量就要對其采取措施。
1.1 軟件測試師的責(zé)任意識
作為軟件測試師而言,自身的技術(shù)水平與職業(yè)素養(yǎng),對軟件測試的質(zhì)量和進(jìn)度會產(chǎn)生較大的影響。良好的職業(yè)技術(shù)水平能夠保證進(jìn)行軟件測試的時候按照規(guī)范要求進(jìn)行,對存在的問題能夠及時的發(fā)現(xiàn),及時的處理,避免了由于自身技術(shù)不足造成的測試事故,因此,軟件測試師應(yīng)該不斷的提高自身的職業(yè)技能和素養(yǎng)。
1.2 工程化的軟件測試管理
根據(jù)瀑布模型對軟件開發(fā)過程的階段劃分:“需求分析概要設(shè)計詳細(xì)設(shè)計編碼”。然后以此為參照對軟件測試予以劃分,從而有了相應(yīng)的測試需求調(diào)研、需求分析提取、設(shè)計以及用例編寫等重要階段。然后對各階段建立相應(yīng)的測試工作產(chǎn)品基線。在實施下一項工作階段之前,需要評審之前各階段的產(chǎn)品基線,確認(rèn)合格后則可繼續(xù)下一工序。軟件測試的這種工程化管理保證的測試設(shè)計方法的全面、合理,測試覆蓋的全面性,同時也保證了測試中各階段產(chǎn)品的質(zhì)量。要得到良好的軟件測試質(zhì)量,需要建立規(guī)范的測試過程,從而保證測試結(jié)果的一致和質(zhì)量。規(guī)范的軟件測試過程的第一步是劃分測試階段,各階段的測試如圖一所示。
在軟件測試工作當(dāng)中,以所評測軟件的研制任務(wù)/需求和本次軟件測試需求之間建立一個追蹤關(guān)系,從而保證測試能夠覆蓋軟件需求文檔的規(guī)定需求;此外,和以往的項目經(jīng)驗相結(jié)合,對文檔中沒有出現(xiàn)但是用戶實際需要的部分隱含要求予以補充,并編制成相對全面的測試需求說明,從而實現(xiàn)測試能夠滿足覆蓋的全面性。
1.3 軟件測試過程的監(jiān)督
在實際的軟件測試工作當(dāng)中,各軟件測試師之間是存在一定的差距的,如項目工作經(jīng)驗、專業(yè)技術(shù)背景等。為了保證測試的質(zhì)量和進(jìn)度,以及各測試項目組測試結(jié)果的一致。那么就需在測試中實施監(jiān)督制度,軟件測試師在監(jiān)督制度下,從而實現(xiàn)高質(zhì)量的軟件測試。軟件測試的各個環(huán)節(jié)中,分由各環(huán)節(jié)的軟件測試師進(jìn)行測試,這個過程不僅僅是只進(jìn)行軟件測試,還要進(jìn)行監(jiān)督,軟件測試師要對自己的測試范圍進(jìn)行嚴(yán)格監(jiān)督,防止將存在的問題遺漏掉。彼此之間也要互相進(jìn)行監(jiān)督,目的在于提高軟件測試的質(zhì)量和進(jìn)度。
2 軟件測試中的進(jìn)度問題及對質(zhì)量的影響
針對軟件測試的進(jìn)度問題,業(yè)內(nèi)對此有過專門的研究分析和總結(jié),在時間規(guī)定上有很多項目要求測試時一天代碼走查量要少于300行,因為現(xiàn)在軟件研發(fā)時間被大大壓縮,所以在測試階段的時間就隨之更少,因為時間不夠,對整個開發(fā)和測試活動的質(zhì)量影響后果都特別嚴(yán)重,導(dǎo)致不能充分地進(jìn)行測試要想更好地保證測試質(zhì)量,就一定結(jié)合測試軟件的規(guī)模來合理安排,不能因為測試的進(jìn)度不合理,而影響了質(zhì)量,才能滿足測試的目的。因為現(xiàn)在我國的軟件研發(fā)中一個最重要和常見的問題就是進(jìn)度跟不上,而為了保證進(jìn)度,而采用減少時間的方法,因此對質(zhì)量產(chǎn)生壞的影響。
在軟件測試工作當(dāng)中,有效的階段評審能夠保證測試進(jìn)度的可行性與合理性;測試文檔的規(guī)范性、正確性和完整性;滿足軟件測試需求覆蓋的完整;合理全面的測試方法;保證測試用例的充分性、可行性以及正確性;最終實現(xiàn)測試結(jié)果的正確性和真是性。針對軟件測試各個基線或關(guān)鍵階段的轉(zhuǎn)階段評審的工作內(nèi)容有測試的計劃、方案;測試就緒和總結(jié)等等。
軟件測試過程中的重要手段是引進(jìn)過程質(zhì)量保證,對測試產(chǎn)品建立“互審、組審、評審”的三審制度。即就是對整個測試過程中的所有測試工作產(chǎn)品均建立三審制度,如工作計劃,測試質(zhì)量保證計劃,測試需求規(guī)格說明,配置管理計劃,測試說明、用例設(shè)計說明以及測試報告等等。編寫完測試工作產(chǎn)品后,將測試工作產(chǎn)品先由本組軟件測試師進(jìn)行相互檢查、審查,經(jīng)檢查確保無誤后再進(jìn)行測試組的內(nèi)部會審,之后再提交正式評審。
3 軟件測試中質(zhì)量和進(jìn)度達(dá)到雙贏
在整個軟件設(shè)計應(yīng)用過程中,其最基本的前提條件是質(zhì)量保證。故軟件測試過程中,測試質(zhì)量也是軟件測試的重中之重。作為軟件測試師,在軟件測試設(shè)計過程中首先要明確測試目標(biāo),也就是要保證測試對象符合用戶的使用需求。只有明確了測試目標(biāo),才能夠為下一步的軟件測試提供便利。質(zhì)量是整個測試過程中的關(guān)鍵,只有保證了測試質(zhì)量,才能夠更深一步的提高測試進(jìn)度。隨著當(dāng)前信息技術(shù)的快速發(fā)展,各軟件的更新速度也在逐漸加快,這就無形的對軟件測試進(jìn)度有了更迫切的要求。軟件測試的進(jìn)度是通過測試計劃的控制來實現(xiàn)的。對于測試進(jìn)度的提高,其關(guān)鍵是在測試設(shè)計過程中要有適當(dāng)合理的人員配備以及測試各階段的工作安排,只有在完善的測試計劃上,才能夠進(jìn)一步的提高軟件測試的進(jìn)度。實際上,軟件測試是存在一定的風(fēng)險的,因此需要加大對測試風(fēng)險的排除,一旦發(fā)現(xiàn)風(fēng)險,則需要以最快的速度進(jìn)行人力協(xié)調(diào),從而保證軟件的測試進(jìn)度。下面用兩個例子說明:
如果在某一個項目當(dāng)中,我們采取valgrind來對內(nèi)存錯誤進(jìn)行自動檢測,并且在一定時間內(nèi)檢測出了很多錯誤。若是不采取這種方法,相同的錯誤就要浪費更多的時間來尋找,所以只需要采取更科學(xué)有效的技術(shù)測試的質(zhì)量和進(jìn)度就可以達(dá)到雙贏的結(jié)果。再比如我們用兩個工作人員來做行設(shè)計需求的評審,發(fā)現(xiàn)了很多的錯誤,它們會使后續(xù)開發(fā)引入更多的bug。但是如果用靜態(tài)測試的方法來檢測,缺陷消除就只需要幾人日的工作量,它比傳統(tǒng)的方法省時省力,效果更好。
4 結(jié)語
軟件測試的目的是利用測試過程中對發(fā)現(xiàn)問題,并對問題進(jìn)行處理,從而實現(xiàn)增強軟件質(zhì)量的目標(biāo),是一種確保軟件產(chǎn)品可靠性與良好質(zhì)量的關(guān)鍵措施。作為軟件測試師而言,應(yīng)該按照軟件測試規(guī)范要求進(jìn)行軟件測試,通過改進(jìn)質(zhì)量活動的生產(chǎn)率,既提高質(zhì)量,又能縮短研發(fā)進(jìn)度。只有這樣,才能在測試軟件的時候取得質(zhì)量和進(jìn)度的雙贏。
參考文獻(xiàn):
[1]鄭羽,龔懿.軟件測試質(zhì)量的影響因素分析[J].計算機應(yīng)用,2010(12).
[2]張洪春.基于質(zhì)量屬性的軟件測試力系統(tǒng)分析架構(gòu)[J].微型機與應(yīng)用,2011(19).
篇8
1 軟件測試外包人才需求狀況
當(dāng)前,軟件產(chǎn)業(yè)已經(jīng)成為國際競爭的焦點和各國競相發(fā)展的戰(zhàn)略性先導(dǎo)產(chǎn)業(yè)。早在2007年,教育部等部門出臺的《關(guān)于進(jìn)一步加強國家重點領(lǐng)域緊缺人才培養(yǎng)工作的意見》,將軟件等確定為12個國家重點領(lǐng)域緊缺人才培養(yǎng)。而在軟件行業(yè)中,為了提高軟件質(zhì)量,降低軟件開發(fā)成本,分散軟件外包風(fēng)險,軟件測試就成為重要推動力。但軟件測試業(yè)卻面臨著自身的嚴(yán)峻考驗——人才緊缺。據(jù)前程無憂招聘網(wǎng)統(tǒng)計,國內(nèi)120多萬軟件從業(yè)者中,真正能擔(dān)當(dāng)測試職位的不足5萬,人才缺口已超20萬并向30萬大軍挺進(jìn),并隨需求逐年增長。在國外,一般軟件測試人員與軟件開發(fā)人員的崗位設(shè)置比例是1:1。軟件測試人才需求量的加大,除了受產(chǎn)業(yè)先行的波及外,長期以來業(yè)界對軟件測試的不重視,導(dǎo)致高校未有效開展軟件測試人才的培養(yǎng),出現(xiàn)教育滯后。教育滯后體現(xiàn)在多方面,包括專業(yè)設(shè)置、人才培養(yǎng)模式、人才培養(yǎng)方案的滯后與不協(xié)調(diào)等。
2 軟件測試職業(yè)發(fā)展及能力需求分析
2.1 軟件測試外包的特點
隨著軟件產(chǎn)業(yè)的發(fā)展,軟件產(chǎn)品的質(zhì)量控制與質(zhì)量管理正逐漸成為軟件企業(yè)生存與發(fā)展的核心。幾乎每個大中型IT企業(yè)的軟件產(chǎn)品在前都需要大量的質(zhì)量控制、測試和文檔工作,而這些工作必須依靠擁有嫻熟技術(shù)的軟件測試工程師這樣專業(yè)的人士來完成。單獨設(shè)立測試部門,對測試人才有強烈需求的企業(yè)大多是規(guī)模較大的一些IT企業(yè),外資企業(yè)居多。而一些企業(yè)為了降低軟件開發(fā)成本,專注于核心業(yè)務(wù)的發(fā)展,或因測試力量匱乏,往往會把軟件測試工作外包給專業(yè)的測試機構(gòu)來完成。軟件測試外包的特點,一是涉及行業(yè)多,知識面廣。二是測試團隊比較大。三是接觸到大項目的機會比較多,軟件測試的類型包括行業(yè)應(yīng)用軟件的測試、本地化和國際化測試、嵌入式軟件測試等。在行業(yè)軟件中,以手機、家電嵌入式軟件為代表的通信行業(yè)軟件和汽車、電子行業(yè)的中間件成為具有潛力的軟件外包領(lǐng)域。所以軟件測試外包對測試人員的素質(zhì)提出了更高的要求。
2.2 軟件測試職業(yè)發(fā)展及能力需求分析
根據(jù)軟件測試職業(yè)崗位與工作內(nèi)容的分析,綜合學(xué)院、企業(yè)、培訓(xùn)機構(gòu)專家訪談結(jié)果,網(wǎng)絡(luò)資料查詢調(diào)研結(jié)果,不同行業(yè)、不同企業(yè)同一崗位,其崗位工作任務(wù)不同,職業(yè)能力需求的側(cè)重點也不同。同一職業(yè)崗位在不同的行業(yè)領(lǐng)域?qū)χR的要求也不同。按照軟件測試為崗位主線,通過對不同行業(yè)企業(yè)所需人才崗位工作職責(zé)、能力知識需求進(jìn)行系統(tǒng)的分析與研究,總結(jié)提煉出軟件測試外包專業(yè)畢業(yè)生踏入工作崗位從初級測試工程師到成長為有豐富工作經(jīng)驗的測試項目經(jīng)理所具有的能力與素質(zhì)要求。
初級測試工程師的工作職責(zé)是按照軟件測試方案和流程對產(chǎn)品進(jìn)行功能測驗;檢查產(chǎn)品是否有缺陷;報告和跟蹤缺陷及進(jìn)行驗證。其能力素質(zhì)要求是熟悉常用的軟件測試方法、軟件工程知識;熟悉常用的軟件開發(fā)環(huán)境,編程工具;有良好的英語閱讀能力,具有良好的溝通能力。
中/高級測試工程師的工作職責(zé)是設(shè)計測試用例;搭建測試環(huán)境;根據(jù)測試設(shè)計對產(chǎn)品進(jìn)行性能、功能等全面測試;測試工具等的開發(fā)、撰寫測試報告。其能力素質(zhì)要求是掌握軟件測試原理流程、方法與規(guī)范;熟悉測試工具;熟練地編寫測試腳本,能夠進(jìn)行缺陷分析及預(yù)防。具有較強的文檔編寫能力;較強的學(xué)習(xí)能力;高度的責(zé)任心,較強的溝通能力。
測試組長及測試主管:設(shè)計測試計劃及進(jìn)行測試項目的管理;項目及測試流程和工具的選擇及優(yōu)化;測試項目質(zhì)量和進(jìn)度控制。其能力素質(zhì)要求是有一定的軟件測試經(jīng)驗;能夠獨立完成各類測試任務(wù);具有較好的解決問題的能力;有一定的分工協(xié)作能力。
軟件測試項目經(jīng)理:構(gòu)建測試團隊及進(jìn)行測試團隊的管理;制定項目測試方案和測試計劃;協(xié)調(diào)測試資源,并對各種資源進(jìn)行計劃、分工和管理;測試項目的質(zhì)量及控制。其能力素質(zhì)要求精通軟件測試?yán)碚摗④浖y試管理和自動化測試技術(shù);熟悉軟件測試開發(fā)和測試平臺、自動化測試與性能測試工具;較強的測試組織管理能力、溝通協(xié)調(diào)能力;有流利的英語讀寫表達(dá)能力;善于團隊合作,執(zhí)行能力強。
3 構(gòu)建并實施一站式人才培養(yǎng)模式
改革現(xiàn)有的軟件外包測試人才培養(yǎng)落后狀況,探索并實踐新型人才培養(yǎng)模式成為軟件測試外包人才培養(yǎng)的重中之重。煙臺職業(yè)學(xué)院對此作了多方面的探索與實踐,構(gòu)建并實施一站式人才培養(yǎng)模式,為軟件測試外包人才規(guī)模化培養(yǎng)積累經(jīng)驗。
3.1 軟件測試外包專業(yè)人才培養(yǎng)目標(biāo)
根據(jù)企業(yè)的人才需求特點,學(xué)院、培訓(xùn)機構(gòu)、企業(yè)三方共同確定的高職軟件測試外包專業(yè)的培養(yǎng)目標(biāo)為:培養(yǎng)掌握計算機基礎(chǔ)、軟件測試專業(yè)知識、熟悉軟件測試的基本方法、流程和規(guī)范,了解服務(wù)外包行業(yè)知識、發(fā)包方文化、商務(wù)禮儀,能利用測試工具對軟件產(chǎn)品進(jìn)行功能和性能測試,設(shè)計和維護測試系統(tǒng),對測試方案可能出現(xiàn)的問題進(jìn)行分析與評估,具有軟件編程能力及軟件工程應(yīng)用能力,可從事軟件外包及服務(wù)外包企業(yè)軟件測試、運行、維護及質(zhì)量管理等崗位工作,具有較強的外語應(yīng)用能力,良好的溝通能力、協(xié)調(diào)能力和語言表達(dá)能力的技能型人才。
其崗位的主要業(yè)務(wù)范圍是: 依據(jù)需求文檔及設(shè)計文檔,編寫測試用例;依據(jù)測試用例執(zhí)行測試,完成產(chǎn)品的手工測試、集成測試與系統(tǒng)測試,反饋跟蹤產(chǎn)品BUG及用例缺陷;根據(jù)測試計劃,搭建測試環(huán)境; 測試工具/系統(tǒng)的研究和應(yīng)用。軟件測試專業(yè)可考取的證書:計算機等級考試四級軟件測試工程師、ISTQB國際軟件測試工程師(初級)。
3.2 一站式人才培養(yǎng)模式內(nèi)容
經(jīng)過多年的實踐與總結(jié),構(gòu)建了以政府為引導(dǎo),實行與培訓(xùn)機構(gòu)聯(lián)姻、與企業(yè)合作的一站式人才培養(yǎng)模式,完成畢業(yè)即就業(yè)的角色轉(zhuǎn)換。
政府引導(dǎo):以我院牽頭成立的煙臺市服務(wù)外包職教集團為平臺,與當(dāng)?shù)卣⒎?wù)外包園區(qū)建立框架性戰(zhàn)略合作關(guān)系,根據(jù)政府出臺的優(yōu)惠政策,提供的各種信息資源,通過學(xué)院與企業(yè)及產(chǎn)業(yè)園區(qū)的互動,形成校企雙方人力資源的可持續(xù)性需求供給與輸出。由政府協(xié)調(diào)當(dāng)?shù)胤?wù)外包企業(yè),與學(xué)院建立緊密型的人才培養(yǎng)合作聯(lián)盟,聯(lián)盟單位派員參與專業(yè)建設(shè)指導(dǎo)、人才培養(yǎng),并作為學(xué)院學(xué)生的實習(xí)實訓(xùn)基地。
一站式培養(yǎng)的關(guān)鍵是學(xué)院通過與知名培訓(xùn)機構(gòu)、與企業(yè)實行三方合作,通過協(xié)議等約定方式,按企業(yè)所需的人才數(shù)量與規(guī)格,采用“聯(lián)合招生、委托培養(yǎng)、定向就業(yè)”的形式,實現(xiàn)人才培養(yǎng)的直接輸入與對口輸出。“聯(lián)合招生”指三方共同協(xié)商確定學(xué)生來源、招生數(shù)量、招生方案;“委托培養(yǎng)”指招收的學(xué)員全部在學(xué)校學(xué)習(xí)、在培訓(xùn)機構(gòu)實訓(xùn),培養(yǎng)目標(biāo)受企業(yè)委托進(jìn)行;“定向就業(yè)”指學(xué)生培養(yǎng)結(jié)束經(jīng)過綜合考核評定,并參加由工信部全國注冊服務(wù)外包專業(yè)認(rèn)證中心設(shè)置的面向服務(wù)外包產(chǎn)業(yè)的專業(yè)認(rèn)證項目,獲得工信部相關(guān)技術(shù)等級認(rèn)證,根據(jù)認(rèn)證等級,由合作企業(yè)正式錄用為公司員工,安排到合適的崗位就業(yè),不能直接就業(yè)的可推薦安置到合作聯(lián)盟單位或由合作企業(yè)、培訓(xùn)機構(gòu)推薦到其他單位就業(yè)。
3.3 課程建設(shè)及實施路徑
課程體系的構(gòu)建和課程建設(shè)是人才培養(yǎng)中的關(guān)鍵因素。服務(wù)外包軟件測試專業(yè)課程集服務(wù)外包知識課程群、信息技術(shù)專業(yè)課程群、軟件測試專業(yè)課程群、管理課程、專業(yè)外語課程于一體,著力培養(yǎng)復(fù)合型軟件測試外包人才。按照課程之間的邏輯順序和人才職業(yè)成長規(guī)律安排課程。實施中采用分段式安排,教學(xué)團隊專兼教師合作授課。部分課程安排成為選修課,學(xué)生可以根據(jù)自己的就業(yè)意向和興趣選擇學(xué)習(xí)。圖1為主要課程框架體系圖及實施路徑。
技能儲備階段構(gòu)建完整的工程知識體系。利用案例和項目強化學(xué)生對于各種知識點的理解,并通過實踐訓(xùn)練達(dá)到一定熟練程度與規(guī)范性,完成基本知識的積累及基本技能的訓(xùn)練。校企各有側(cè)重地承擔(dān)教學(xué)任務(wù),通用專業(yè)基礎(chǔ)課程及其相關(guān)實踐課程由校內(nèi)專任教師承擔(dān)。專業(yè)核心課程及相關(guān)實訓(xùn)由企業(yè)人員承擔(dān)。時間安排為第一到第四個學(xué)期。
技能提升階段主要是針對外包項目的仿真實訓(xùn),建立學(xué)生的項目工程思想,根據(jù)項目分工完成工作任務(wù),使學(xué)生充分演練項目中的多種職業(yè)角色,具備企業(yè)要求的基本職業(yè)素質(zhì)。該階段的教學(xué)任務(wù)主要由企業(yè)人員在校內(nèi)實訓(xùn)基地完成,專任教師輔助教學(xué)。時間安排為第五學(xué)期的前半學(xué)期,同時開展軟件測試等級認(rèn)證培訓(xùn)。
崗位實訓(xùn)階段,由仿真項目實訓(xùn)逐步向真實產(chǎn)業(yè)外包項目實訓(xùn)轉(zhuǎn)變。此階段根據(jù)學(xué)生的水平,將學(xué)生編入各項目組,參與到真實項目。通過完成外包項目,感知企業(yè)文化,熟悉工作環(huán)境,接受企業(yè)的管理,達(dá)到實戰(zhàn)訓(xùn)練的崗位能力要求。這一階段的培養(yǎng)任務(wù)主要由企業(yè)人員承擔(dān),專任教師協(xié)助輔導(dǎo),企業(yè)工程師擔(dān)任項目經(jīng)理。該階段的實訓(xùn)任務(wù)主要在培訓(xùn)機構(gòu)完成,時間安排為第五學(xué)期下半學(xué)期。本階段完成軟件測試技術(shù)等級認(rèn)證。
頂崗實習(xí)階段是根據(jù)學(xué)生的職業(yè)特長及發(fā)展需求,安排學(xué)生到合作企業(yè)實習(xí),根據(jù)學(xué)生的水平及實習(xí)企業(yè)的用人計劃,成績優(yōu)秀者可直接與企業(yè)簽約就業(yè),學(xué)生的實踐情況由專人跟蹤幫助。對不合適的崗位,重新安排到其他企業(yè)實習(xí)就業(yè)。根據(jù)企業(yè)崗位標(biāo)準(zhǔn)的不同,時間安排為第六學(xué)期。
3.4 實行任務(wù)驅(qū)動、工學(xué)一體教學(xué)模式
樹立學(xué)習(xí)就是工作,工作就是學(xué)習(xí)的理念,采用任務(wù)驅(qū)動、工學(xué)一體教學(xué)模式開展教學(xué)活動。精選典型項目或案例作為教學(xué)內(nèi)容,每一項目安排1~5個不等的任務(wù),每一任務(wù)有針對性地包括一個或幾個必須掌握的知識點,學(xué)生的學(xué)習(xí)過程就是完成任務(wù)的過程,按照自主學(xué)習(xí),仿真應(yīng)用、工程應(yīng)用的流程,完成學(xué)習(xí)任務(wù)。在自主學(xué)習(xí)階段,先給學(xué)生布置任務(wù),然后指導(dǎo)學(xué)生展開自主學(xué)習(xí),根據(jù)班級人數(shù)情況,靈活選擇以學(xué)生2~4人為一組的形式,進(jìn)行咨詢、討論、制定工作計劃、提出任務(wù)實施方案,再指導(dǎo)學(xué)生進(jìn)行仿真設(shè)計和測試,最后在實訓(xùn)基地中指導(dǎo)學(xué)生進(jìn)行工學(xué)結(jié)合實訓(xùn)。每一任務(wù)完成情況選2~3組有代表性的作品進(jìn)行展示與答辯,然后由其他組學(xué)生進(jìn)行評價,提出意見與建議。不同組完成同樣的任務(wù)可能采用的方法不同。每一個項目完成后,提交項目報告,根據(jù)日常表現(xiàn)、實訓(xùn)情況、創(chuàng)新能力、報告的完整性與準(zhǔn)確性,給出評價結(jié)果。
4 結(jié)束語
軟件測試是一個新興職業(yè),其具有的就業(yè)競爭小、薪資水平高、職業(yè)發(fā)展多元化的特點,吸引越來越多的人從事軟件測試工作,這為軟件測試人才的培養(yǎng)提供了很好的發(fā)展機遇。學(xué)院與企業(yè)、培訓(xùn)機構(gòu)合作,共同培養(yǎng)軟件測試人才可以實現(xiàn)畢業(yè)即就業(yè)的一站式人才培養(yǎng)。這種模式,把學(xué)院的教育資源、生源優(yōu)勢,培訓(xùn)機構(gòu)的教學(xué)內(nèi)容,企業(yè)的實訓(xùn)優(yōu)勢及就業(yè)優(yōu)勢結(jié)合在一起,實現(xiàn)強強聯(lián)合、三方共贏。但在合作中,合作的各方要加強溝通,通過一定的機制規(guī)范和約束合作行為,并通過一定的保障措施確保合作持續(xù)長久。
基金項目:中國高等職業(yè)技術(shù)教育研究會“十二五”規(guī)劃項目 《基于校企合作服務(wù)外包人才培養(yǎng)模式的探索和實踐》編號:GZYGH2011014 主持人:姜永華
篇9
隨著軟件產(chǎn)業(yè)的發(fā)展、軟件規(guī)模的逐步擴大,軟件的質(zhì)量問題日漸突顯,軟件測試與軟件質(zhì)量監(jiān)控也越來越受到軟件行業(yè)的重視。各類招聘信息中對軟件測試類人才的需求猛增,很多人由此而選擇了軟件測試,但其中不少人始終未能拿到軟件測試行業(yè)的“入場券”,原因何在?軟件測試行業(yè)是一個高速發(fā)展的新興行業(yè),盡管當(dāng)下認(rèn)知程度不高,但有著廣闊的發(fā)展前景。如何才能更有效地進(jìn)入軟件測試領(lǐng)域是本文的研究重點所在。
1軟件測試的誤區(qū)
軟件測試不斷受到重視,但總體上,國內(nèi)軟件項目過程不夠規(guī)范,對軟件測試的重要性、測試方法和流程等還存在很多錯誤的認(rèn)識,以致很多人在軟件測試領(lǐng)域走了不少彎路。對于測試人員以及準(zhǔn)備進(jìn)入軟件測試領(lǐng)域的人員來說,首先必須認(rèn)清并更正這些錯誤觀點。
(1) 誤區(qū)一:軟件開發(fā)完成后才開始進(jìn)行軟件測試
軟件從開始計劃、編制、測試,一直到公開使用的過程中都可能存在軟件缺陷。事實證明,需求規(guī)格說明書是導(dǎo)致軟件缺陷的最大原因。隨著時間的推移,修復(fù)軟件缺陷的費用呈幾何級數(shù)增長。
(2) 誤區(qū)二:軟件后如果發(fā)現(xiàn)質(zhì)量問題,那是軟件測試人員的錯
軟件測試只能確認(rèn)軟件存在錯誤,不能保證軟件沒有錯誤。軟件的高質(zhì)量不是軟件測試人員測出來的,是靠軟件生命周期的各個過程設(shè)計出來的。應(yīng)該分析軟件項目的各個過程,從過程改進(jìn)方面尋找產(chǎn)生錯誤的原因和改進(jìn)的措施。
(3) 誤區(qū)三:軟件測試要求不高,隨便找個人都可以完成這項工作
軟件測試涉及很多領(lǐng)域,簡單的點點鼠標(biāo)、按按鍵盤的工作根本無法達(dá)到軟件測試的目的,若想立足于軟件測試領(lǐng)域必須掌握和學(xué)習(xí)很多方面的知識。
(4) 誤區(qū)四:項目進(jìn)度吃緊時少做些測試,時間富裕時多做測試
縮短測試時間會導(dǎo)致測試不完整,無法達(dá)到測試的目的,測試效果也將大打折扣。軟件項目過程應(yīng)該是有計劃的、可控制的,若項目過程管理混亂必然會降低軟件測試的質(zhì)量。
(5) 誤區(qū)五:自動測試將取代手工測試
自動測試速度快、效率高、準(zhǔn)確度和精確度高。但動測試只能測試某些軟件的部分特性,且無法靈活處理意外事件。手工測試可以更好地發(fā)揮人的主觀能動性、靈活性、隨機應(yīng)變性,可以更好地適應(yīng)并處理突發(fā)事件。無論自動測試技術(shù)多么發(fā)達(dá),自動測試也不能取代手工測試。
2學(xué)習(xí)軟件測試的過程和方法研究
不同知識基礎(chǔ)的人,學(xué)習(xí)軟件測試技術(shù)、進(jìn)入軟件測試領(lǐng)域的感受也有所不同,很多人在學(xué)習(xí)軟件測試知識的過程中非常盲目,沒有計劃、沒有方向,學(xué)習(xí)效率低下。在此,本人對學(xué)習(xí)軟件測試的過程和方法進(jìn)行總結(jié)、研究和探討,以作交流學(xué)習(xí)之用。
2.1學(xué)習(xí)軟件測試的過程
(1) 第一步明確測試目的
有目的才有動力,有目標(biāo)才有方向。軟件測試就是對軟件需求分析、設(shè)計規(guī)格說明、程序代碼以及軟件其他相關(guān)產(chǎn)品進(jìn)行測試的過程,是軟件質(zhì)量保證的關(guān)鍵步驟。明確軟件測試的目的和目標(biāo)才能準(zhǔn)確的定位測試并更有效的進(jìn)行測試。
(2) 第二步結(jié)合實際項目,學(xué)習(xí)掌握測試方法、合理設(shè)計測試用例
常用的測試方法有黑盒測試和白盒測試。黑盒測試在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,針對軟件界面和軟件功能等進(jìn)行測試,是最基本的測試方法。白盒測試允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息設(shè)計或選擇測試用例進(jìn)行測試。準(zhǔn)確的理解和掌握這些技術(shù)及其相互關(guān)系是進(jìn)行軟件測試的前提。
測試是有風(fēng)險的行為,完全測試是不可能的。軟件測試用例是進(jìn)行測試的核心,是測試人員測試過程中的重要參考依據(jù),它的組織和編寫關(guān)系到整個測試工作和思路的正確性、有效性。測試用例的組織性和條理性是軟件測試成功的一個重要因素。因此,在學(xué)習(xí)軟件測試的過程中,要準(zhǔn)確的把握測試方法并有條理的組織和設(shè)計測試用例。
同時,軟件測試重在實踐。理論的掌握只能達(dá)到紙上談兵的功效,若想真正領(lǐng)悟測試技術(shù)的真諦還需進(jìn)行實際的項目測試。結(jié)合具體的測試項目,靈活運用各種測試方法組織編寫測試用例可以幫助初學(xué)者更好的理解和掌握這些技術(shù)。
(3) 第三步熟悉測試步驟
一個完整的軟件測試過程包括測試計劃、測試設(shè)計、測試開發(fā)、測試執(zhí)行、缺陷跟蹤和測試評估。軟件測試管理工具可以系統(tǒng)地控制整個測試過程,實現(xiàn)從測試需求、測試設(shè)計、測試執(zhí)行和缺陷跟蹤所有操作的全方位跟蹤管理,并為這幾個部分提供了關(guān)聯(lián)機制,使整個測試管理過程更加簡單和有組織。在此,本人建議在學(xué)習(xí)軟件測試技術(shù)的過程中,以一個測試管理工具(例:TestDirector)為平臺進(jìn)行測試實踐,用心體會一個完整的測試過程。
(4) 第四步了解測試階段
軟件測試從軟件需求階段就已介入,基本貫穿軟件項目開發(fā)全程,不同階段有不同的測試點,需要不同的測試方法和技術(shù)。軟件測試可以大致分為需求評審、單元測試、集成測試、系統(tǒng)測試、驗收測試( 測試/ 測試)這幾個階段。明確各個階段的測試目的和內(nèi)容才能選擇相對合適的方法進(jìn)行測試。
(5) 第五步測試技術(shù)的提高和升級
軟件自動化測試是一項讓計算機代替測試人員進(jìn)行軟件測試的技術(shù),通常借助測試工具來執(zhí)行。自動化測試可以模擬軟件實際運行效果,測試效率高、準(zhǔn)確度和精確度高、可以持續(xù)測試而無須休息,彌補了手工測試的不足。
性能被列為系統(tǒng)質(zhì)量的重要指標(biāo),并越來越受到人們的重視。性能測試是對軟件性能的表現(xiàn)進(jìn)行測試,較功能測試更難實現(xiàn)。
在掌握基本的測試方法和技術(shù)之后,可以繼續(xù)深入研究自動化測試和性能測試,提高測試水平和測試能力。
2.2學(xué)習(xí)軟件測試的方法
學(xué)習(xí)方法的好壞和學(xué)習(xí)習(xí)慣對學(xué)習(xí)效果的影響非常大,以下是軟件測試初學(xué)者需要注意的幾個地方:
(1) 勤學(xué)好問、充分利用各類學(xué)習(xí)資源
問題積累是學(xué)習(xí)的攔路虎。時間越久,問題越多,給學(xué)習(xí)造成了很大的阻力,更甚者會讓初學(xué)者心生放棄。三人行必有我?guī)?勤學(xué)好問,不要滋生“歷史”遺留問題。當(dāng)然,對于一個復(fù)雜問題,如果在短時間內(nèi)無法理解透徹時,可以先簡單的了解,然后在之后的學(xué)習(xí)和實踐過程中慢慢體會其含義。由簡入繁,勿鉆“牛角尖”。
軟件測試的學(xué)習(xí)資源非常豐富,書籍、網(wǎng)站、論壇、技術(shù)交流群等唾手可得。充分利用這些資源可以縮短學(xué)習(xí)和解決問題的周期,使學(xué)習(xí)更加高效。
(2) 實踐出真知
實踐是檢驗真理的唯一標(biāo)準(zhǔn)。要想真正學(xué)會測試,必須進(jìn)行實際的測試。不要說沒有測試環(huán)境,想學(xué)的話,完全可以自己搭建環(huán)境。有了行動才能有收獲。
(3) 切莫“閉門造車”
軟件測試技術(shù)是解決實際軟件測試問題的技術(shù),與現(xiàn)實世界密切相關(guān),盲目的學(xué)習(xí)可能適得其反。因此,應(yīng)多關(guān)注軟件測試行業(yè)的動態(tài),了解軟件測試行業(yè)的真正需求,有目的的學(xué)習(xí)。
(4) 細(xì)心、耐心
軟件測試是對人技術(shù)和意志的一種考驗,不細(xì)心就有可能與缺陷擦肩而過,沒有耐心就無法將枯燥的測試進(jìn)行到底。只有充分的細(xì)心和耐心才能適應(yīng)和完成軟件測試工作。
(5)“懷疑”精神
定性思維往往是發(fā)生錯誤的根源,對于軟件測試人員來說,更應(yīng)該具有“懷疑”精神,要考慮每個細(xì)節(jié),不要想當(dāng)然地接受任何假設(shè)。
(6) 溝通能力
軟件測試人員必須具有良好的人際關(guān)系和溝通能力。由于軟件測試工作的特殊性,軟件測試人員在項目小組中并不受歡迎。由于需要經(jīng)常和開發(fā)人員、測試組其他成員進(jìn)行溝通,軟件測試人員說話辦事必須穩(wěn)重得當(dāng),不能隨意指責(zé)別人,否則會事倍功半,影響軟件測試的效率。在學(xué)習(xí)軟件測試的過程中,應(yīng)把握各種機會,多與人進(jìn)行溝通和交流。
3軟件測試的常用技巧
軟件測試雖然辛苦,但掌握一定技巧后將事半功倍。
(1) 邊界測試
邊界是最容易出錯的地方。在進(jìn)行軟件測試時,應(yīng)測試臨近邊界的合法數(shù)據(jù)(即最后一個可能合法的數(shù)據(jù),以及剛超過邊界的非法數(shù)據(jù))。
(2) 非法測試
人們在不了解軟件功能或使用方法的情況下,經(jīng)常會不經(jīng)意地輸入一些非法數(shù)據(jù)或進(jìn)行一些非法操作而導(dǎo)致軟件出現(xiàn)意外情況。因此,在進(jìn)行軟件測試的過程當(dāng)中,應(yīng)考慮進(jìn)行類似的非法測試。例如在輸入數(shù)字的地方輸入字符、輸入郵件地址的地方輸入非法格式的數(shù)據(jù)、進(jìn)行一些不合理的操作等。
(3) 接口測試
程序往往在接口的地方發(fā)生錯誤,在進(jìn)行相關(guān)測試時切勿掉以輕心。
(4) 代碼重用測試
在開發(fā)過程中有些模塊功能幾乎相同,程序員在重用代碼時可能忘記在原有代碼的基礎(chǔ)上作修改或修改不全面而引發(fā)錯誤。在測試的過程中應(yīng)更加留意這方面的測試。
(5) 失效恢復(fù)測試
當(dāng)意外(如網(wǎng)絡(luò)突然中斷、系統(tǒng)崩潰等)發(fā)生時,用戶能否繼續(xù)使用系統(tǒng),用戶將受到多大的影響也是測試要考慮的問題。
4結(jié)束語
軟件測試是一個入門易、深入難的工作。學(xué)習(xí)軟件測試技術(shù)沒有捷徑可言,一點點的努力才是正道。學(xué)習(xí)過程是指引,學(xué)習(xí)方法是手段,希望以上的方法和技巧能夠給大家以啟迪,也希望更多有識之士能夠與我們共同徜徉在軟件測試這五彩繽紛的世界之中。
參考文獻(xiàn):
[1] 把冉. 軟件測試行業(yè)特別調(diào)查[J]. 中國經(jīng)濟信息,2008(9):76-77.
[2] (美)Ron Patton. 軟件測試[M]. 周予濱,姚靜,等譯. 北京:機械工業(yè)出版社,2008.
[3] 路璐,王文莉. 淺談軟件測試技術(shù)[J]. 鄭州鐵路職業(yè)技術(shù)學(xué)院學(xué)報,2007,19(2):41-42.
[4] 黃茗云,王英龍,張洪亮. 軟件測試熱點淺析[J]. 研究與探討,2008(2):57-29.
[5] 康鋒. 軟件系統(tǒng)性能測試規(guī)劃[J]. 大眾科技,2007(8):65-66.
Research on Learning Process and Learning Method of Software Testing
TIAN Li-fang, LIU Shuan
篇10
軟件定義一切這一新興概念的提出,昭示著軟件界的競爭將越來越激烈,軟件技術(shù)的發(fā)展將越來越快。與此同時,軟件質(zhì)量也得到軟件行業(yè)的重視。而確保軟件質(zhì)量的方法有多種,如:在軟件開發(fā)過程中進(jìn)行規(guī)范化管理,可以避免開發(fā)過程中的不規(guī)范、不安全的設(shè)計習(xí)慣;進(jìn)行軟件測試則能發(fā)現(xiàn)軟件潛在的質(zhì)量問題和驗證軟件使用中的可靠性等。
軟件對測試的需求,使從事軟件測試行業(yè)的人員快速增多。軟件測試技術(shù)的發(fā)展和用戶對第三方測試的需求,促進(jìn)了軟件測試外包行業(yè)的發(fā)展和興起。另一方面,軟件測試外包還可以在一定程度上填補戰(zhàn)略目標(biāo)所需的資源和企業(yè)自身資源之間存在的缺口。在多方面因素的共同作用下,越來越多的專業(yè)化測試團隊快速成長起來,軟件測試外包也越來越普遍。
為加強軟件測試外包的規(guī)范化管理,本文提出一種基于CMMI的軟件測試外包管理方法。該方法的實施可以有效地提高軟件工程化水平,使軟件測試外包活動可以更有效地進(jìn)行,從而達(dá)到不斷提高軟件質(zhì)量的目的。
1 軟件測試外包管理架構(gòu)設(shè)計
1.1 基于CMMI的管理過程改進(jìn)
CMMI是由卡內(nèi)基梅隆大學(xué)軟件工程研究室開發(fā)的軟件成熟度模型,是一種集成過程改進(jìn)模型。但是,CMMI模型只是規(guī)定了每個過程域應(yīng)該“做什么”,并沒有指明每個過程域具體“怎么做”。
為了具體解決“怎么做”的問題,本文提出一種新的軟件過程管理架構(gòu)。本文將軟件管理活動規(guī)范成進(jìn)入準(zhǔn)則、輸入、活動步驟及要求、輸出和完成準(zhǔn)則等五個部分,如圖1所示。
其中,輸入是來自以前活動的工作產(chǎn)品;進(jìn)入準(zhǔn)則是判斷是否可以進(jìn)入本次活動的依據(jù);活動步驟及要求是本次活動的具體內(nèi)容;完成準(zhǔn)則是判斷本次活動是否完結(jié)的依據(jù);輸出是通過本次活動創(chuàng)建的工作產(chǎn)品。
1.2 軟件測試外包管理過程架構(gòu)
軟件測試外包是指甲方公司將項目完全交給乙方公司,由乙方公司出人力物力,完成軟件的測試工作,并按照客戶需求,提供測試計劃制定、測試用例編寫等一系列測試技術(shù)服務(wù)。本文提出的軟件測試外包管理過程由三個部分組成,分別是簽訂軟件測試外包合同、軟件測試外包活動的執(zhí)行與管理、驗收軟件測試外包活動,如圖2所示。其中三個活動的具體執(zhí)行分別遵循2.1節(jié)中提出的管理過程。
1.3 軟件測試外包人員角色
為加強軟件測試外包管理過程,需要定義的人員角色包括軟件技術(shù)負(fù)責(zé)人、軟件合同負(fù)責(zé)人、分包方代表、客戶代表、軟件質(zhì)量師、軟件配置管理員。各人員分工主要為:
軟件技術(shù)負(fù)責(zé)人:提供軟件測試需要的代碼、程序和文檔,并負(fù)責(zé)相關(guān)解釋。
軟件合同負(fù)責(zé)人:負(fù)責(zé)軟件測試外包合同的起草、活動的管理和驗收。
分包方代表:負(fù)責(zé)參加軟件測試外包合同和驗收外包合同的評審,組織測試外包活動中的相關(guān)評審。
客戶代表:負(fù)責(zé)參加軟件測試外包合同和驗收外包合同的評審。
軟件質(zhì)量師:監(jiān)督整個軟件測試外包活動的過程符合性和產(chǎn)品符合性。
軟件配置管理員:對軟件測試外包活動產(chǎn)生的工作產(chǎn)品進(jìn)行配置管理。
2 軟件測試外包管理具體實現(xiàn)
2.1 簽訂軟件測試外包合同
根據(jù)對軟件測試外包項目的技術(shù)特征和非技術(shù)特征所作的綜合評估,選擇合適的供方,與供方簽訂軟件測試外包合同。
2.2 進(jìn)入準(zhǔn)則
本活動的進(jìn)入準(zhǔn)則包括:
(1)軟件測試外包項目輸入已經(jīng)明確,需要測試的代碼、軟件、文檔保持一致,測試輸入通過相關(guān)評審并已入庫。
(2)相關(guān)人員已經(jīng)過選擇供方、洽談協(xié)議的有關(guān)技能的培訓(xùn)。
根據(jù)不同的外包測試級別,所需要準(zhǔn)備的文檔也不相同,如對于軟件單元測試和軟件部件測試需要提供的文檔是《軟件設(shè)計說明》,對于軟件配置項測試需要提供的文檔是《軟件需求規(guī)格說明》,對于軟件系統(tǒng)測試需要提供的文檔是《系統(tǒng)/子系統(tǒng)需求規(guī)格說明》。
2.2.1 輸入
本活動的輸入包括:《合格供方名錄》。
2.2.2 活動步驟及要求
(1)軟件技術(shù)負(fù)責(zé)人和軟件合同負(fù)責(zé)人根據(jù)項目需要,確定需要由外部提供軟件測試的產(chǎn)品和服務(wù)。a)在項目策劃或制定技術(shù)方案時,軟件技術(shù)負(fù)責(zé)人應(yīng)組織確定需要由外部提供的軟件測試產(chǎn)品和服務(wù),軟件合同負(fù)責(zé)人負(fù)責(zé)審核軟件技術(shù)負(fù)責(zé)人提出的測試產(chǎn)品和服務(wù)的完整性和合理性。b)軟件技術(shù)負(fù)責(zé)人將軟件測試外包的產(chǎn)品和服務(wù)列表,形成項目軟件測試外包清單。c)該軟件測試外包清單應(yīng)納入軟件測試外包合同或《軟件開發(fā)計劃》。d)軟件合同負(fù)責(zé)人選擇供方。 ① 由軟件合同負(fù)責(zé)人組織供方評價,實施測試供方的選擇工作。優(yōu)先從本組織的《合格供方名錄》中選取資質(zhì)完整性好的供方。必須選擇經(jīng)過評審,能滿足要求的分包方;在無客戶或法定管理機構(gòu)指定的分包方時,優(yōu)先選擇符合CNAS-CL01《檢測和校準(zhǔn)實驗室能力認(rèn)可準(zhǔn)則》、CNAS-CL45《檢測和校準(zhǔn)實驗室能力認(rèn)可準(zhǔn)則在軟件檢測領(lǐng)域的應(yīng)用說明》及DILAC/AC01《檢測實驗室和校準(zhǔn)實驗室能力認(rèn)可準(zhǔn)則》要求并獲得認(rèn)可的實驗室。外包項目,供方必須具有同級的保密資質(zhì),并按本組織保密管理規(guī)定執(zhí)行。
② 如果申請的供方在《合格供方名錄》中,軟件測試外包協(xié)議直接由軟件技術(shù)負(fù)責(zé)人簽署意見,主管領(lǐng)導(dǎo)審批;如果申請的供方不在《合格供方名錄》中,應(yīng)按照本組織的合格供方評定程序進(jìn)行正式選擇。將候選供方的資質(zhì)調(diào)查情況按照合格供方評定程序執(zhí)行,同時將其提供的相應(yīng)的質(zhì)量、保密等資質(zhì)證明文件作為附件。
(2)建立并評審軟件測試外包合同。a)所有由外部提供軟件測試產(chǎn)品必須同供方簽訂軟件測試外包合同或其等效文件(以下均簡稱合同)。軟件合同負(fù)責(zé)人負(fù)責(zé)起草合同。b)軟件合同負(fù)責(zé)人需要和供方確定,定期檢查供方進(jìn)展情況的監(jiān)控計劃,將監(jiān)控計劃或等效條款作為合同的一部分。監(jiān)控計劃需要明確里程碑監(jiān)控、聯(lián)合評審的時機、供方進(jìn)度安排等。c)在供方協(xié)議執(zhí)行前或做任何更改之前,項目軟件技術(shù)負(fù)責(zé)人按照軟件評審規(guī)程要求評審軟件測試外包合同。d)客戶有要求時,應(yīng)邀請客戶或客戶代表參與對合同的評審。e)軟件技術(shù)負(fù)責(zé)人與分承制方仔細(xì)審查合同的每個條款,確保合同沒有錯誤和隱患,由組織領(lǐng)導(dǎo)或授權(quán)代表簽訂合同。
2.2.3 輸出
本活動的輸出包括:軟件測試外包合同及其附件。
2.2.4 完成準(zhǔn)則
本活動的完成準(zhǔn)則包括:軟件測試外包合同已經(jīng)簽訂。
2.3 軟件測試外包活動的執(zhí)行與管理
軟件合同負(fù)責(zé)人和供方共同執(zhí)行軟件測試外包合同,監(jiān)督供方協(xié)議的執(zhí)行。
2.3.1 進(jìn)入準(zhǔn)則
本活動的進(jìn)入準(zhǔn)則包括:軟件測試外包合同已經(jīng)簽訂。
2.3.2 輸入
本活動的輸入包括:軟件測試外包合同及其附件。
2.3.3 活動步驟及要求
(1)軟件合同負(fù)責(zé)人將外包項目的具體實施要求(文檔編寫要求、技術(shù)規(guī)范)及時傳遞給供方。
(2)依據(jù)合同中監(jiān)控計劃的規(guī)定對供方進(jìn)行監(jiān)督,具體包括:a)按照供方合同/技術(shù)協(xié)議規(guī)定的里程碑,召開項目協(xié)調(diào)會或由供方提供跟蹤報告,跟蹤項目的進(jìn)展情況、供方投入(人力、物力、財力)的充分性、項目風(fēng)險情況等,并對供方提出改進(jìn)意見和要求。b)軟件合同負(fù)責(zé)人應(yīng)測量供方項目的進(jìn)展、測試質(zhì)量的情況,記錄合同執(zhí)行過程中發(fā)現(xiàn)的偏差。
(3)軟件合同負(fù)責(zé)人參加里程碑監(jiān)控、聯(lián)合評審,填寫里程碑評審報告,并保存評審報告/會議紀(jì)要/跟蹤報告的復(fù)制件。
(4)軟件合同負(fù)責(zé)人應(yīng)協(xié)調(diào)和處理合同中出現(xiàn)的問題,包括:a)當(dāng)供方進(jìn)度或測試質(zhì)量達(dá)不到要求時,軟件合同負(fù)責(zé)人應(yīng)協(xié)調(diào)供方,分析原因并采取相應(yīng)的措施,以確保產(chǎn)品符合要求。b)軟件合同負(fù)責(zé)人正式評審和監(jiān)督活動中發(fā)現(xiàn)測試項目執(zhí)行情況與項目計劃的偏差大于20%時,軟件合同負(fù)責(zé)人應(yīng)與供方進(jìn)行交流找出問題的原因,提出解決措施。
2.3.4 輸出
本活動的輸出包括:軟件測試產(chǎn)品、階段評審報告和實施過程的相關(guān)記錄。
2.3.5 完成準(zhǔn)則
本活動的完成準(zhǔn)則包括:合同規(guī)定的測試產(chǎn)品和服務(wù)完成且齊套,通過了相關(guān)的評審和檢查。
2.4 驗收軟件測試外包活動
對供方提交的軟件測試產(chǎn)品(一般指軟件測試需求規(guī)格說明、軟件測試計劃、軟件測試說明、軟件測試報告以及相關(guān)的記錄文件)進(jìn)行驗收,證明供方提交的軟件測試產(chǎn)品能夠滿足合同規(guī)定的要求。
2.4.1 進(jìn)入準(zhǔn)則
本活動的進(jìn)入準(zhǔn)則包括:供方已經(jīng)完成合同規(guī)定的軟件測試產(chǎn)品和服務(wù)。
2.4.2 輸入
本活動的輸入包括:
(1)軟件測試外包合同及其附件。
(2)供方提供的軟件測試產(chǎn)品。
(3)軟件測試外包活動中形成相關(guān)管理類記錄文件。
2.4.3 活動步驟及要求
(1)軟件合同負(fù)責(zé)人評價并驗收供方提交的軟件測試產(chǎn)品。
制定驗收大綱;在驗收前與供方一起,按照本組織軟件評審規(guī)程的要求評審驗收大綱;依據(jù)驗收大綱,組織召開供方產(chǎn)品驗收會,執(zhí)行驗收評審,記錄在驗收中發(fā)現(xiàn)的問題,提交驗收報告,驗收結(jié)論設(shè)為: 通過:實施交付。有條件通過:實施交付,并形成會議紀(jì)要,提出解決問題的措施和確認(rèn)計劃。未通過:不能交付。形成會議紀(jì)要,提出解決問題措施、確定再次交付/驗收的日期。軟件合同負(fù)責(zé)人測量供方提供的軟件測試產(chǎn)品的規(guī)模和驗收中發(fā)現(xiàn)的問題。軟件質(zhì)量師跟蹤發(fā)現(xiàn)的問題,直至問題解決。
(2)軟件技術(shù)負(fù)責(zé)人組織軟件外包測試產(chǎn)品的移交和納入本組織的受控庫,在移交過程中應(yīng)遵守合同。移交后,軟件合同負(fù)責(zé)人依據(jù)供方交付產(chǎn)品的情況,評價供方性能,并填寫供方監(jiān)督記錄。
2.4.4 輸出
本活動的輸出包括:驗收報告。
2.4.5 完成準(zhǔn)則
本活動的完成準(zhǔn)則包括:供方提交的軟件測試外包產(chǎn)品已經(jīng)移交完成。
3 總結(jié)
基于對CMMI模型的研究,本文提出了一種供方協(xié)議管理過程域在軟件測試外包領(lǐng)域的具體的實施方案,解決了“怎么做”的問題。本文的軟件測試外包活動三部分組成,分別是簽訂軟件測試外包合同、軟件測試外包活動的執(zhí)行與管理、驗收軟件測試外包活動。簡述了這三個活動的具體步驟,保證每個步驟都有相關(guān)證據(jù)遺留,將軟件工程落到實處,對提高組織的軟件產(chǎn)品質(zhì)量和軟件工程化水平將發(fā)揮重要作用。
參考文獻(xiàn)
[1]張衛(wèi).關(guān)于計算機軟件發(fā)展的研究[J].生物技術(shù)世界,2003.
[2]巨振樂,趙明輝.正在興起的軟件測試外包.時代經(jīng)貿(mào),2009(120).
篇11
1軟件測試工作的重要性
軟件測試工作的重要性主要體現(xiàn)在兩大方面:一是軟件測試可以提升開發(fā)效率。在軟件工程項目進(jìn)行過程中,一般將質(zhì)量、進(jìn)度作為核心評價指標(biāo),很多項目負(fù)責(zé)人都會嘗試各種先進(jìn)方法技術(shù),以期望可以加快開發(fā)進(jìn)度,一旦出現(xiàn)返工現(xiàn)象,會對項目進(jìn)度產(chǎn)生巨大影響,這就突出軟件測試重要地位,可以通過合理的測試發(fā)現(xiàn)存在的問題,加快開發(fā)進(jìn)度的同時避免出現(xiàn)返工現(xiàn)象。軟件測試工作擁有很多測試項目,其中包括集成測試、單元測試,可以第一時間發(fā)現(xiàn)軟件存在的BUG及實際問題,這樣就可以提供充足的修改時間,減少開發(fā)工作量。二是軟件測試可以保障軟件質(zhì)量。在開展計算機軟件項目時,關(guān)注進(jìn)度的同時還要關(guān)注質(zhì)量,通過常規(guī)的軟件測試,可以發(fā)現(xiàn)系統(tǒng)問題,但是無法發(fā)現(xiàn)系統(tǒng)BUG,這時候就需要展開集成測試,可以讓模塊之間擁有更高的集成度,減少軟件錯誤。
2計算機軟件測試面臨的問題
2.1軟件測試自動化程度較低。
近些年,計算機軟件行業(yè)處于一個高速發(fā)展的狀態(tài),也出現(xiàn)了自動化測試工具,但是這類工具本身技術(shù)不夠成熟,存在較多的缺陷,需要花費大量的成本費用,操作難度相對更高,無法實現(xiàn)快速拓展等,沒有達(dá)到大規(guī)模應(yīng)用的要求,僅僅運用到一些軟件測試的特殊工作,在實際的軟件測試過程中,還需要大量的測試人員,特別是在嵌入式測試這一部分內(nèi)容中,基本無法使用自動化測試軟件,需要人工校對測試,由于信息技術(shù)發(fā)展較為迅速,為計算機軟件開發(fā)提供充足的技術(shù)支持,軟件開發(fā)水平越來越高,軟件工程規(guī)模也在隨之?dāng)U張,但是現(xiàn)階段軟件測試仍然以人工測試為主,一方面會提高開發(fā)成本,導(dǎo)致人工費用占比不斷擴大,另一方面無法保證最終的軟件質(zhì)量,人工測試很難達(dá)到零差錯,影響軟件質(zhì)量,同時降低測試效率,增加項目運行風(fēng)險。
2.2測試工作介入時間較晚。
正常情況下,軟件開發(fā)和測試呈現(xiàn)出相輔相成的關(guān)系,兩者相互搭配完成軟件開發(fā)工作,才能得到高質(zhì)量的計算機軟件。為了充分發(fā)揮軟件測試的作用,就要控制好開發(fā)時間和測試時間,但是就調(diào)查發(fā)現(xiàn),很多企業(yè)將全部精力都放在軟件開發(fā)工作上,缺乏對軟件測試環(huán)節(jié)的重視,經(jīng)常將測試工作安排在較后的位置,導(dǎo)致軟件測試介入時間過晚,無法實現(xiàn)對軟件質(zhì)量的科學(xué)管控。由于軟件測試介入時間較晚的原因,在開發(fā)后期才發(fā)現(xiàn)軟件存在的缺陷問題,只能展開返工,增加不必要的花費。
2.3測試方案與案例的利用率較低。
現(xiàn)階段,軟件測試管理體系還不夠完善,存在較多的漏洞,在軟件開發(fā)過程中,無法提供專用的測試案例庫,在后續(xù)的軟件測試期間,經(jīng)常出現(xiàn)重復(fù)利用測試案例的現(xiàn)象,這就會造成不小的資源浪費。同時,現(xiàn)階段沒有完善的測試程序歸檔規(guī)范,在測試結(jié)束后沒有按照要求完成歸檔任務(wù),導(dǎo)致測試案例庫得不到及時更新,只保存一些較為老舊的案例,無法發(fā)揮實質(zhì)作用。在軟件測試的后期階段,即使發(fā)現(xiàn)與前期相似的測試工作,也沒有可以參考借鑒的案例,還需要重復(fù)測試工作,投入更多的時間精力,浪費資源的同時還會耽誤開發(fā)進(jìn)度。
2.4缺乏穩(wěn)定高效的測試團隊。
在軟件開發(fā)過程中,軟件測試成本占比較高,可以達(dá)到總開發(fā)成本的30%左右,需要一支專業(yè)的測試團隊,才能順利在規(guī)定時間內(nèi)完成測試任務(wù)。但是現(xiàn)階段項目開發(fā)期間過于重視開發(fā),對于軟件測試較為忽視,缺乏足夠的專業(yè)測試人員。在此同時,項目給軟件測試撥下的經(jīng)費相對較少,甚至出現(xiàn)經(jīng)費短缺的現(xiàn)象,導(dǎo)致軟件測試工作進(jìn)展緩慢,逐漸發(fā)展成形式化工作。除此之外,由于忽視軟件測試的原因,無法培養(yǎng)出足夠的軟件測試后備力量,很多測試人員長時間重復(fù)同樣的測試工作,無法提升綜合能力,掌握的技能相對較為單一。可以看出,現(xiàn)階段大部分的軟件開發(fā)項目都缺少專業(yè)的測試團隊,測試人員掌握的專業(yè)技能較少,無法保證軟對的穩(wěn)定性,這些都是急需解決的問題。
3計算機軟件測試工作的解決對策
3.1靈活使用軟件測試方法。
(1)強化自動化測試手段。雖然現(xiàn)階段自動化測試手段較少,但是仍然有一些較為成熟的手段,在軟件測試期間應(yīng)該加強對這類手段的重視,選擇技術(shù)更為成熟的自動化測試手段。在選擇測試方法時,要展開綜合性的評估,考慮到軟件開發(fā)項目的實際情況,選擇最適合的一種,才能達(dá)到預(yù)計的測試效果,加快開發(fā)進(jìn)度的同時提高軟件質(zhì)量。在選擇自動化測試手段時,考慮到系統(tǒng)架構(gòu)、數(shù)據(jù)庫平臺、軟件規(guī)模、復(fù)雜程度等,選擇適合的評估項,才能選擇最適合的開發(fā)工具,一方面可以提高測試質(zhì)量,另一方面可以加快測試效率。同時,還要加強對軟件自動化測試手段的研發(fā),結(jié)合市場需求推出新型產(chǎn)品,彌補市場上的空白。(2)學(xué)習(xí)借鑒及自主研發(fā)。在軟件測試過程中,要加強對先進(jìn)案例的學(xué)習(xí),國外一些發(fā)達(dá)國家的軟件開發(fā)工作起步更早,已經(jīng)積累了豐富的開發(fā)及測試經(jīng)驗,研發(fā)出完善的軟件自動化測試工具,要加強對寶貴經(jīng)驗的借鑒,結(jié)合我國軟件開發(fā)測試的實際情況,取其精華去其糟粕,不斷提高我國軟件測試水平。同時,企業(yè)要可以加強對軟件自動化測試工具的研發(fā),要考慮到自身的規(guī)模和需求,通過自主研發(fā)的方式,獲得的測試工具更符合企業(yè)需求,可以大幅度提高測試效率。
3.2構(gòu)建軟件測試標(biāo)準(zhǔn)及軟件測試體系。
一是標(biāo)準(zhǔn)化軟件測試規(guī)范及體系。明確規(guī)定軟件測試工作流程、團隊建設(shè)模式、軟件測試不同階段工作內(nèi)容以及預(yù)期取得的成果,統(tǒng)一化軟件測試工作文檔格式及內(nèi)容,對軟件測試工作的不同階段內(nèi)容制定可行性較高的標(biāo)準(zhǔn)體系。二是構(gòu)建軟件測試案例庫。持續(xù)完善軟件測試案例庫,有助于提升軟件測試案例的利用率,能夠盡早確定系統(tǒng)問題的來源,縮短問題分析及問題解決方案制定所需要的時間,避免此類問題再次發(fā)生,真正提升軟件測試效率,保障軟件質(zhì)量。
3.3軟件項目更加重視測試管理工作。
篇12
Analysis of Software Testing Process Work Request
Yuan Zhengjiang
(Jiangnan Institute of Mechanical and Electrical Engineering,Guiyang 550009,China)
Abstract:This paper divided software testing into requirements analysis,software testing planning,design and implementation,software testing and software testing summary execution phases,and the test process management requirements are described.
Keywords:Software test;Process management
一、前言
軟件測試是軟件質(zhì)量保證的重要內(nèi)容,隨著軟件規(guī)模的不斷擴大,復(fù)雜程度的不斷提高,測試質(zhì)量更加難以度量。為促進(jìn)軟件測試質(zhì)量,應(yīng)規(guī)范軟件測試過程管理。軟件測試過程包括:軟件測試需求分析、軟件測試策劃、軟件測試設(shè)計和實現(xiàn)、軟件測試執(zhí)行和軟件測試總結(jié)等。本文對各軟件測試過程的工作要求進(jìn)行了闡述。
二、軟件測試需求分析
根據(jù)軟件測試任務(wù)書、被測軟件的需求規(guī)格說明和設(shè)計文檔,對測試任務(wù)進(jìn)行測試需求分析,分析的主要內(nèi)容包括:
1.確定需要的測試類型及其測試要求。測試類型包括功能測試、性能測試、接口測試、安全性測試、人機交互界面測試、強度測試等;測試要求包括狀態(tài)、接口、數(shù)據(jù)結(jié)構(gòu)、設(shè)計約束等。2.確定測試類型中各測試項及其優(yōu)先級。3.確定每個測試項的測試充分性要求。根據(jù)被測軟件的重要性、測試項目和約束條件,確定每個測試項應(yīng)覆蓋的范圍。4.確定每個測試項測試終止的要求,包括測試過程正常終止的條件和導(dǎo)致測試過程異常終止的可能情況。5.測試需求分析階段的工作產(chǎn)品:軟件測試需求規(guī)格說明文檔。
三、軟件測試策劃
根據(jù)軟件測評任務(wù)書、軟件需求規(guī)格說明和設(shè)計文檔、軟件測試需求規(guī)格說明文檔等進(jìn)行測試策劃,策劃一般包括:
1.確定測試策略。2.確定測試需要的技術(shù)或方法,如測試數(shù)據(jù)生成與驗證技術(shù)、測試數(shù)據(jù)輸入技術(shù)、測試結(jié)果獲取技術(shù)。3.確定要受控制的測試工作產(chǎn)品,列出清單。4.確定用于測試的資源要求,包括軟硬件設(shè)備、環(huán)境條件、人員數(shù)量和技能等要求。5.進(jìn)行測試風(fēng)險分析,如技術(shù)風(fēng)險、人員風(fēng)險、資源風(fēng)險和進(jìn)度風(fēng)險等。6.根據(jù)軟件測試任務(wù)書和被測軟件的特點確定測試任務(wù)結(jié)束條件。7.確定被測軟件的評價準(zhǔn)則和方法。8.根據(jù)測試資源和測試項,確定進(jìn)度。9.確定需采集的度量及采集要求。10.測試策劃階段的工作產(chǎn)品:軟件測試計劃文檔。
四、測試設(shè)計和實現(xiàn)
根據(jù)測試需求規(guī)格說明和測試計劃進(jìn)行測試設(shè)計和實現(xiàn),應(yīng)完成如下工作:
1.按需求分解測試項。將需測試的測試項進(jìn)行層次化的分解。2.說明最終分解后的每個測試項。說明測試用例設(shè)計方法的具體應(yīng)用、測試數(shù)據(jù)的選擇依據(jù)等。3.設(shè)計測試用例;測試用例包括如下內(nèi)容。(1)測試用例名稱和用例標(biāo)識;(2)測試用例追蹤。說明測試所依據(jù)的內(nèi)容來源,并跟蹤到相應(yīng)的測試項;(3)測試用例說明。簡要描述測試的對象、目的和所采用的測試方法;(4)測試用例的初始化要求,包括硬件配置、軟件配置、測試配置、參數(shù)設(shè)置等初始化要求;(5)測試用例的輸入。包括:每個測試的名稱、用途和具體內(nèi)容及其性質(zhì);測試輸入的來源,以及選擇輸入所使用的方法;測試輸入是真實的還是模擬的;測試輸入的時間順序或事件順序;(6)測試用例的期望結(jié)果;(7)測試用例的期望結(jié)果評估準(zhǔn)則。評估準(zhǔn)則用以判斷測試用例執(zhí)行產(chǎn)生的中間或最后結(jié)果是否正確;(8)實施測試用例的執(zhí)行步驟;(9)測試用例的前提和約束,如特別限制、參數(shù)偏差或異常處理;(10)測試終止條件。說明測試用例的測試正常終止和異常終止的條件;4.確定測試用例的執(zhí)行順序;5.準(zhǔn)備和驗證所有的測試用數(shù)據(jù)。針對測試輸入要求,設(shè)計測試用的數(shù)據(jù);6.準(zhǔn)備并獲取測試資源,如測試環(huán)境所必須的軟、硬件資源等;7.必要時,編寫測試執(zhí)行需要的程序,如開發(fā)部件測試的驅(qū)動模塊、樁模塊以及測試支持軟件等;8.建立和校核測試環(huán)境,記錄校核結(jié)果,說明測試環(huán)境的偏差;9.測試設(shè)計與實現(xiàn)階段的工作產(chǎn)品:軟件測試說明文檔。
五、測試執(zhí)行
按照測試計劃和測試說明的內(nèi)容和要求執(zhí)行測試。測試執(zhí)行的要求如下:
1.如實填寫測試原始記錄,當(dāng)結(jié)果有量值要求時,應(yīng)準(zhǔn)確記錄實際的量值;2.根據(jù)每個測試用例的期望測試結(jié)果、實際測試結(jié)果和評估準(zhǔn)則,判定測試用例是否通過;3.當(dāng)測試用例不通過時,應(yīng)根據(jù)不同的缺陷類型,采取相應(yīng)措施:對測試工作中得缺陷,進(jìn)行記錄并實施相應(yīng)的變更;對被測軟件的缺陷應(yīng)記錄到軟件問題報告單中;4.當(dāng)所有的測試用例都執(zhí)行完畢后,根據(jù)測試的充分性要求和有關(guān)原始記錄,分析測試工作是否充分,是否需要進(jìn)行補充測試;5.在執(zhí)行測試的過程中,可根據(jù)測試的進(jìn)展情況補充測試用例,但應(yīng)留下用例記錄,并在執(zhí)行測試后,變更測試說明;6.測試執(zhí)行階段的工作產(chǎn)品:測試記錄、軟件問題報告單。
六、測試總結(jié)
根據(jù)軟件測試任務(wù)書、被測軟件文檔、測試過程文檔等,對測試工作和被測軟件進(jìn)行分析和評價。測試總結(jié)的要求如下:
1.對測試工作進(jìn)行分析和評價。總結(jié)測試是否符合過程管理要求,測試是否充分,是否滿足用戶要求等;2.對被測軟件進(jìn)行分析和評價。總結(jié)被測軟件功能、性能、安全性、可靠性等是否滿足要求,對軟件缺陷影響進(jìn)行描述,提出改進(jìn)建議等;3.測試總結(jié)階段的工作產(chǎn)品:軟件測試報告。
七、結(jié)束語
只有把每個測試階段應(yīng)完成的工作做好了,才能保證最終的軟件測試質(zhì)量。軟件測試組織都應(yīng)制定適合自己的軟件測試過程管理體系文件,確保過程管理規(guī)范,各階段工作做到位。
參考文獻(xiàn):
篇13
探索性測試是解決嵌入式系統(tǒng)軟件測試需求變化快、軟件文檔缺乏、測試周期短等現(xiàn)實問題的可行手段之一。為了恰當(dāng)運用,需要總結(jié)探索性測試的一般性應(yīng)用方法體系,并探討其與嵌入式系統(tǒng)軟件測試體系的聯(lián)系和沖突。在此基礎(chǔ)上提出適用于嵌入式系統(tǒng)軟件測試的探索性測試應(yīng)用模型。
1 探索性軟件測試的基本原理
探索性測試的概念形成較早,經(jīng)過隨后的發(fā)展已形成了一定的應(yīng)用體系。
1.1 探索性軟件測試的概念
傳統(tǒng)的軟件測試分為測試需求分析、測試策劃、測試用例設(shè)計、測試執(zhí)行和測試總結(jié)等主要階段,依次開展。傳統(tǒng)軟件測試流程依賴于完整、詳實的軟件需求和設(shè)計文檔作為輸入。而在現(xiàn)實的測試任務(wù)中,軟件需求和設(shè)計文檔往往有誤或不完備,這導(dǎo)致腳本測試活動無法正常有效開展。
“探索性測試是同時進(jìn)行學(xué)習(xí)、測試設(shè)計和測試執(zhí)行的一種測試方法;也就是說,測試沒有事先通過確定的測試計劃定義,而是動態(tài)地被設(shè)計、執(zhí)行和修改”。探索性測試(也稱為探索式測試)最早于1983年提出,并在實踐中發(fā)展 。與傳統(tǒng)腳本測試相比,探索性測試具有以下技術(shù)特點:
(1) 測試活動的同時性。鼓勵在測試執(zhí)行的過程中,同時進(jìn)行對被測軟件的學(xué)習(xí)和測試設(shè)計。
(2) 關(guān)注測試任務(wù)。更關(guān)注于被測軟件本身和需要測試的問題。
(3) 測試中的演繹推理。通過前一個測試活動的結(jié)果來指導(dǎo)后期測試的開展。
(4) 利用人的優(yōu)勢。關(guān)注于人本身的優(yōu)勢,如判斷、分析、應(yīng)變和協(xié)作的能力。
作為一種敏捷軟件測試方法,探索性測試弱化了對測試的預(yù)先設(shè)計和測試流程的嚴(yán)格要求,而強調(diào)測試的同時性以及人的經(jīng)驗和創(chuàng)造性,關(guān)注于發(fā)現(xiàn)軟件缺陷,持續(xù)優(yōu)化測試工作。測試人員在測試?理解?再細(xì)化測試的迭代中,通過測試活動本身不斷深入學(xué)習(xí)被測軟件,從而能夠縮減測試準(zhǔn)備時間,發(fā)現(xiàn)更多缺陷,并使得軟件測試可以在被測軟件說明或文檔不齊全的情況下開展。
1.2 探索性軟件測試的主要方法
探索性測試的概念提出后,經(jīng)過工業(yè)界和學(xué)術(shù)界人士的工作,已初步形成包含經(jīng)驗運用、執(zhí)行策略、管理模型的體系。
1.2.1 探索方法
探索性測試強調(diào)對測試人員的知識和經(jīng)驗的運用。這些經(jīng)驗和知識可分為領(lǐng)域知識、系統(tǒng)知識和一般的軟件工程知識。領(lǐng)域知識指領(lǐng)域規(guī)則、客戶流程和操作場景等,包括用戶使用和具體應(yīng)用領(lǐng)域知識。系統(tǒng)知識是關(guān)于待測軟件的特性和技術(shù)細(xì)節(jié)的具體知識,包括系統(tǒng)級的交互以及個體功能細(xì)節(jié)。一般的軟件工程知識即不需要對被測軟件系統(tǒng)和應(yīng)用領(lǐng)域的具體知識。
豐富的知識和經(jīng)驗是對探索性測試人員的基本要求,以此為基礎(chǔ),探索性測試的發(fā)揮人的創(chuàng)造性,并由此增強了測試過程的適用性。從工程應(yīng)用的實踐中,已總結(jié)出了一些有用的啟發(fā)式方法。運用這些策略和啟發(fā)式方法,可以幫助軟件測試人員在具備了基本的知識和經(jīng)驗的情況下,盡快熟悉被測系統(tǒng),并在測試過程中充分運用經(jīng)驗和創(chuàng)造性。
在開展具體的測試活動時,測試人員則可以借助一些啟發(fā)式方法在測試活動中“探索”被測軟件。這些啟發(fā)式的方法是測試中為了發(fā)現(xiàn)可能的缺陷,測試人員常用的一些技巧 。這其中典型的有Hendrickson的檢查單以及Whittaker的漫游方法。這些方法的共同特性是提醒測試人員:
(1) 應(yīng)關(guān)注軟件最主要的功能,并在測試的過程中對軟件的行為進(jìn)行聯(lián)想、質(zhì)疑并發(fā)散,充分利用逆向輸入、邊界情況、近似值、錯誤輸入和特殊值(如0),通過軟件行為的原因、表現(xiàn)等舉一反三;
(2) 應(yīng)刻意構(gòu)造一些特殊的行為,如嘗試遍歷所有輸出、嘗試最長操作路徑、嘗試關(guān)注關(guān)鍵數(shù)據(jù)的演化、打散或集中事物、長時間運行軟件等;
(3) 應(yīng)構(gòu)造測試檢查軟件主要功能往往不關(guān)注的情景,例如啟動和退出、全選、空值、資源過量和緊張、取消操作、重復(fù)、同時運行等。
傳統(tǒng)方法假設(shè)軟件文檔中說明了軟件的各種預(yù)期行為,因而可以通過分析文檔來提取測試預(yù)期(Test Oracles)。然而,在軟件信息不完備的情況下,測試預(yù)期則無法提前預(yù)知。HICCUPPS的啟發(fā)式方法,從歷史(History)信息、顧客形象(Image)在軟件中的恰當(dāng)映射、類似軟件的對照(Comparable Products)、與軟件和商業(yè)聲明(Claims)、用戶預(yù)期(User’s Expectations)、同類產(chǎn)品本身(the Product itself)、明顯的意圖(Purpose)和法律規(guī)章(Statutes)等角度,幫助測試人員在判定測試是否通過。
1.2.2 管理模型
良好的測試管理模型是保證測試質(zhì)量、提高測試效率的必要保障。基于會話的測試管理(SBTM)是探索性測試領(lǐng)域中最常用的管理實踐。SBTM將軟件測試活動分解為若干會話(Session)。會話特征如下:
會話圍繞主旨(Charter)開展:即待測試的任務(wù)和目標(biāo);會話時間較短:時間長度在90 min左右;會話需要記錄:借助會話記錄單;每輪會話需要計劃和總結(jié):一輪會話執(zhí)行通常是一天,其中包含若干個會話測試。
基于會話的測試過程如圖1所示。當(dāng)接到測試任務(wù)時,測試小組通過對測試任務(wù)進(jìn)行分析討論,確定各會話的主旨。會話主旨包含被測軟件的主題、測試人員的角色、目的、條件、優(yōu)先級、參考文檔、 數(shù)據(jù)、思路、預(yù)期等信息。測試項目負(fù)責(zé)人分配各會話測試人員,隨后開展首輪會話執(zhí)行。一輪會話執(zhí)行通常為一天。每輪會話執(zhí)行結(jié)束后,需組織會話總結(jié),主要借助以下維度進(jìn)行:會話執(zhí)行情況、筆記、缺陷、問題、數(shù)據(jù)、時間分解、人員安排等。通過總結(jié)確定下一輪會話、資源分配。下一輪會話執(zhí)行按照相似的方式開展。在測試達(dá)到預(yù)期時間和充分度要求后,測試結(jié)束,并根據(jù)每輪會話報告單整理測試報告。
圖1 基于會話的測試管理示意圖
會話還可以根據(jù)需要進(jìn)行擴展,例如可以包含對會話的風(fēng)險評估和資源統(tǒng)計,也可以將會話延伸為對特定問題的關(guān)注,形成測試的線索。
1.3 探索性測試工具
探索性測試的有效開展同時依賴于工具的輔助。已有一些探索性測試的工具可供參考,例如Microsoft Test Manager(與Visual Studio組件),BBTestAssistant、TestExplorer,Session Tester,Rapid Reporter,Wink。這些工具通過基于錄制回放、截屏和輔助文字信息的方式幫助測試人員記錄探索性測試的執(zhí)行過程,其中Session Tester、Rapid Reporter和Wink是免費的,Session Tester和Rapid Reporter則專門針對會話機制進(jìn)行了設(shè)計和優(yōu)化。
雖然這些基于錄制回放原理的工具能夠輔助測試人員整理測試報告,但是卻缺少對測試人員運用其知識和經(jīng)驗的指導(dǎo),對探索性測試的執(zhí)行也缺少引導(dǎo)作用。目前沒有專門的探索性測試流程管理工具,不能起到控制測試流程的作用。有必要針對具體應(yīng)用研發(fā)相應(yīng)的輔助工具。
2 探索性測試的應(yīng)用及其效果
經(jīng)過發(fā)展,探索性測試已在多個企業(yè)運用。人們對探索性測試方法的優(yōu)缺點也有了更加明確的認(rèn)識。
2.1 探索性測試在工業(yè)界的應(yīng)用
微軟是較早實踐探索性測試方法的軟件企業(yè)。微軟在Windows 2000系統(tǒng)徽標(biāo)認(rèn)證、必應(yīng)搜索引擎和地圖、Visual Studio、Windows Media Player等系統(tǒng)、網(wǎng)絡(luò)和桌面應(yīng)用中廣泛使用了探索性測試的技巧和方法,尤其是漫游探索法。在其他公司,探索性測試也成功的運用于互聯(lián)網(wǎng)應(yīng)用行業(yè)以及信息系統(tǒng)的軟件測試中。這些測試任務(wù)往往在軟件文檔不全、測試時間緊、企業(yè)對采用傳統(tǒng)的腳本測試流程不滿意的背景下開展,通過運用基于會話的方法,測試團隊都能夠高效的完成測試任務(wù),甚至發(fā)現(xiàn)了采用傳統(tǒng)方法在類似項目中遺漏的缺陷,在系統(tǒng)上線后也沒有發(fā)生重大問題,軟件項目組對測試團隊的滿意度有提升。
雖然可能沒有直接說明采用探索性測試,開源軟件的測試往往具有探索性測試的特點。這些測試往往在沒有詳細(xì)的軟件文檔和測試用例設(shè)計的基礎(chǔ)上,利用志愿測試人員的經(jīng)驗和興趣開展 。在敏捷軟件研發(fā)團隊中,探索性測試的方法也多有運用。成功案例包括與XP和Scrum敏捷軟件開發(fā)的結(jié)合。
除了在工業(yè)界的運用,也有學(xué)者對敏捷軟件測試的應(yīng)用進(jìn)行了系統(tǒng)的研究和討論。Itkonen等人在芬蘭多個軟件公司中研究了測試人員對探索性測試的使用方法、效果和評價,對探索性測試的優(yōu)缺點、應(yīng)用條件合場景以及推薦的方法進(jìn)行了總結(jié);通過研究和實驗,發(fā)現(xiàn)了探索性測試在缺陷檢測能力上能達(dá)到甚至超過傳統(tǒng)腳本測試的水平。Naseer,史亮和高翔也總結(jié)了探索性軟件測試在瑞典軟件公司、國內(nèi)的微軟和淘寶等企業(yè)運用的經(jīng)驗,對探索性測試的活動進(jìn)行了總結(jié)。Bach等人還成立了公司專門從事測試方面的研究和推廣。另外,也有一些研究將探索性測試思想與測試自動化方法結(jié)合,或利用探索性測試的思想提高測試效率和質(zhì)量的工作。
從目前的應(yīng)用情況來看,探索性測試技術(shù)多數(shù)是在桌面應(yīng)用、B/S架構(gòu)信息系統(tǒng)等領(lǐng)域的應(yīng)用,在嵌入式系統(tǒng)軟件測試中的應(yīng)用較少。
2.2 探索性測試的優(yōu)缺點
經(jīng)過實踐,總結(jié)上述對探索性測試的應(yīng)用,能夠發(fā)現(xiàn),探索性測試尤其適用于要求在短時間內(nèi)發(fā)現(xiàn)被測軟件一些重要缺陷或事先沒有能夠進(jìn)行詳細(xì)測試設(shè)計的情況;但也具有測試過程不易控制、測試文檔不全等問題。因此,在具體領(lǐng)域中運用探索性測試技術(shù)時,有必要根據(jù)領(lǐng)域特性,設(shè)計適合的測試流程,揚長避短。
一般認(rèn)為探索性測試的主要優(yōu)點和缺點如下:
優(yōu)點:便于利用人員經(jīng)驗;適合于從用戶角度的測試;適用于缺少軟件文檔、測試時間緊情況;靈活且適應(yīng)性強;對測試人員和開發(fā)人員的反饋較快;能夠為測試帶來新內(nèi)容,降低“殺蟲劑”效應(yīng)。
缺點:缺少足夠的文檔,不易度量覆蓋率;測試統(tǒng)計數(shù)據(jù)不足,不利于決策;對測試人員經(jīng)驗要求較高;在測試人員經(jīng)驗不足、管理不嚴(yán)格的情況下,可能會影響測試質(zhì)量;如缺少恰當(dāng)工具,則不利于缺陷復(fù)現(xiàn)。
3 探索性測試在嵌入式系統(tǒng)中的應(yīng)用
探索性測試技術(shù)卻是能夠應(yīng)對嵌入式系統(tǒng)軟件測試中軟件需求變化快、測試周期短、軟件文檔不全等現(xiàn)實問題的可行方法之一。本文首先分析探索性測試在嵌入式軟件測試中應(yīng)用的需求和困難,然后探討探索性測試技術(shù)與嵌入式系統(tǒng)軟件測試體系的結(jié)合方法,對應(yīng)用模型提出建議,并對應(yīng)用中可能的問題和后續(xù)研究進(jìn)行討論和展望。
3.1 探索性測試一般性方法的適用性
隨著IT技術(shù)的發(fā)展和各國在國防、智能電網(wǎng)、物聯(lián)網(wǎng)、智能手機等行業(yè)投入的加大,嵌入式軟件產(chǎn)品越來越多,測試任務(wù)越來越重,往往難以保證充裕的測試時間。軟件需求和開發(fā)文檔存在不準(zhǔn)確、不完備的情況。而同時,嵌入式軟件的測試具有較強的領(lǐng)域特性,領(lǐng)域內(nèi)測試人員對被測系統(tǒng)的經(jīng)驗比較豐富。因此,需要也有條件在嵌入式系統(tǒng)軟件中開展探索性測試,以降低對軟件需求和設(shè)計規(guī)約的依賴、發(fā)揮探索性測試對軟件變化的適應(yīng)性和充分利用測試人員經(jīng)驗的優(yōu)勢。
然而,探索性測試技術(shù)在嵌入式領(lǐng)域中的應(yīng)用卻較少。探索性測試的通用方法沒有直接用于嵌入式系統(tǒng)軟件測試的原因主要是 :
(1) 軟件測試文檔:探索性測試不鼓勵測試花費精力在策劃和準(zhǔn)備上,而測試執(zhí)行記錄風(fēng)格隨意性較大,不利于形成統(tǒng)一、完備的測試文檔;這與按照國標(biāo)和軍標(biāo)中對完整的軟件測試文檔的要求沖突。
(2) 軟件測試充分性度量:不易度量測試覆蓋率,不易評價測試質(zhì)量。
(3) 軟件測試過程控制:缺少對配置和測試流程的系統(tǒng)性管理,可能造成測試過程失控。
3.2 探索性測試應(yīng)用模型探討
為了解決嵌入式系統(tǒng)測試中軟件需求變化快、測試周期短、軟件文檔不完備等現(xiàn)實問題,有必借鑒探索性測試技術(shù)在信息系統(tǒng)、網(wǎng)絡(luò)應(yīng)用、操作系統(tǒng)等方面的成功經(jīng)驗,將其融入嵌入式系統(tǒng)軟件測試體系中來。為了與相應(yīng)的軟件測評體系和標(biāo)準(zhǔn)匹配,必須對探索性測試通用方法進(jìn)行調(diào)整,設(shè)計探索性測試在嵌入式系統(tǒng)軟件測試的應(yīng)用模型。
一種可參考的“腳本會話模型”如圖2所示,是以探索性測試一般性理論、探索性測試各特性在各型產(chǎn)品軟件的適用性研究為基礎(chǔ),將探索性測試與傳統(tǒng)腳本測試相結(jié)合的軟件測試模型。為充分利用兩者的優(yōu)勢,腳本會話模型的整體仍以傳統(tǒng)腳本方法為基礎(chǔ),從而利用腳本測試管理中測試文檔完備和過程管理控制完善等優(yōu)點,而在測試執(zhí)行過程中充分發(fā)揮探索性測試的靈活、高效優(yōu)點,引入會話、漫游測試法等探索性測試等方法,同時借助嵌入式系統(tǒng)軟件測試典型數(shù)據(jù)復(fù)用庫來實現(xiàn)對測試人員經(jīng)驗的固化和復(fù)用。
圖2 嵌入式系統(tǒng)軟件腳本會話測試模型
如圖3所示,腳本會話模型整體流程遵循經(jīng)典的腳本測試流程,但發(fā)揮了探索性測試對經(jīng)驗的利用和靈活性的特點。
圖3 腳本會話測試模型流程框架
包含以下步驟:
(1) 測試策劃和設(shè)計階段;借助領(lǐng)域軟件測試典型數(shù)據(jù)復(fù)用庫(測試人員經(jīng)驗的固化體現(xiàn))形成測試項、構(gòu)造測試用例,降低對軟件需求和設(shè)計文檔的依賴,初步完成測試需求的提取和測試用例的設(shè)計。
(2) 測試執(zhí)行階段:測試執(zhí)行以基于會話的方式開展,并對一般會話進(jìn)行擴展。根據(jù)測試設(shè)計和計劃,確定每個會話的主旨、用例和測試方法。在每一次會話中,測試人員可以結(jié)對開展測試執(zhí)行,根據(jù)預(yù)先指定的漫游策略和啟發(fā)式方法,針對一個測試項進(jìn)行探索,并補充測試用例。測試人員在會話結(jié)束后整理會話記錄單。根據(jù)本輪會話執(zhí)行情況,記錄缺陷、改善測試設(shè)計,并準(zhǔn)備下一輪會話。如此迭代直到測試結(jié)束條件滿足,測試執(zhí)行結(jié)束。
(3) 測試總結(jié)階段:借助測試執(zhí)行中各個會話報告單,總結(jié)和報告缺陷。
3.3 討論和展望
探索性測試在互聯(lián)網(wǎng)和桌面應(yīng)用已經(jīng)成功實踐,而在嵌入式領(lǐng)域應(yīng)用仍然較少。在嵌入式系統(tǒng)軟件測試中運用諸如腳本會話模型的探索性測試技術(shù)時,應(yīng)注意以下三點問題:
(1) 測試過程管理和文檔。必須重視探索性測試的過程管理以保證測試過程受控。同時在適當(dāng)?shù)碾A段應(yīng)編寫相應(yīng)文檔作為測試階段性成果,并在測試執(zhí)行完成后更新相應(yīng)文檔。
(2) 結(jié)合具體領(lǐng)域。具體領(lǐng)域的軟件測試典型數(shù)據(jù)復(fù)用庫可以看作是對該領(lǐng)域軟件測試人員測試經(jīng)驗的固化,是軟件測試團隊的組織資產(chǎn),有助于團隊新成員快速熟悉被測系統(tǒng),提高探索性測試的效率。
(3) 針對測試團隊和項目制定具體策略。制定探索性測試中的典型方法的應(yīng)用策略,并注意收集反饋,在實踐中持續(xù)改進(jìn)。
探索性測試作為一種在互聯(lián)網(wǎng)、操作系統(tǒng)等領(lǐng)域成功運用多年的測試技術(shù)和理念,可以與其他軟件測試技術(shù)結(jié)合,共同推進(jìn)嵌入式軟件測試質(zhì)量的提升。可能的結(jié)合方向包括(但不限于):
(1) 基于模型的測試和驗證。借助軟件模型可發(fā)現(xiàn)隱藏在軟件界面和正常使用流程下的交互,其中可能隱藏了大量的缺陷;借助模型檢驗工具提供的反例,測試人員還可以對軟件進(jìn)行更加深入的探索;
(2) 測試自動化。嵌入式系統(tǒng)軟件需要處理傳感器送來的大量數(shù)據(jù),采用自動化方法能夠有效減少測試人員的工作量;結(jié)合探索性測試的技術(shù),也能夠為測試用例約簡和測試預(yù)期問題提供解決途徑;
基于剖面的測試:構(gòu)造嵌入式系統(tǒng)的操作剖面和用戶剖面,輔助測試人員能有選擇性地對系統(tǒng)進(jìn)行探索。
4 結(jié) 語
探索性測試技術(shù)經(jīng)過研究和發(fā)展,已形成了一套可行的體系。探索性測試在嵌入式系統(tǒng)軟件測試中的應(yīng)用還較少。經(jīng)過對探索性測試體系的全面研究,能夠更好的理解這種方法在嵌入式系統(tǒng)軟件測試中的適用性,并為融合探索性測試與傳統(tǒng)嵌入式軟件測試方法,形成適用于嵌入式系統(tǒng)軟件測試的探索性測試應(yīng)用模型提供思路和方向。
參考文獻(xiàn)
康一梅,張永革,李志軍,等.嵌入式軟件測試.北京:機械工業(yè)出版社,2008.
BACH J. Session?based test management . Software Testing and Quality Engineering, 2000, 2(6): 1?4.
WHITTAKER J A.探索式軟件測試.北京:清華大學(xué)出版社,2010.
LYNDSAY J, VAN EEDEN N. Adventures in session?based testing . . http://stickyminds.com/articl.
TUOMIKOSKI J, TERVONEN I. Absorbing software testing into the scrum method . Lecture Notes in Business Information Processing, 2009, 32: 199?215.