楊娜
(天津津微首佳軟件有限公司 天津300061)
跨平臺(tái)系統(tǒng)中測(cè)試用例復(fù)用技術(shù)研究
楊娜
(天津津微首佳軟件有限公司 天津300061)
針對(duì)跨平臺(tái)系統(tǒng)中的測(cè)試用例復(fù)用問題,提出了一種解決思路和方法。首先論述了可復(fù)用測(cè)試用例應(yīng)具備的四個(gè)基本特性,并討論了在跨平臺(tái)系統(tǒng)中可復(fù)用測(cè)試用例的主要類型。文章圍繞著測(cè)試用例庫的建立和使用,分別從設(shè)計(jì)測(cè)試用例、使用測(cè)試用例、可復(fù)用測(cè)試用例的維護(hù)3個(gè)方面對(duì)測(cè)試用例復(fù)用的流程進(jìn)行了論述。
軟件測(cè)試;跨平臺(tái);測(cè)試用例;復(fù)用
在軟件開發(fā)過程中,測(cè)試做為一種保障產(chǎn)品質(zhì)量的有效手段,被越來越多的人所重視。測(cè)試通常需要依據(jù)若干已經(jīng)設(shè)計(jì)好的測(cè)試用例逐步展開,使用測(cè)試用例可以盡量減少測(cè)試的盲目性并提高測(cè)試過程的系統(tǒng)性。但是由于在設(shè)計(jì)用例過程中缺乏全局性的考量,設(shè)計(jì)出的測(cè)試用例普遍缺少復(fù)用性,導(dǎo)致很多相同或相似場(chǎng)景的測(cè)試用例無法重復(fù)利用,只能根據(jù)實(shí)際測(cè)試場(chǎng)景重新設(shè)計(jì)用例。尤其在跨平臺(tái)系統(tǒng)中,由于存在大量相同或相似的場(chǎng)景,這種情況將會(huì)更加明顯。這樣的重復(fù)勞動(dòng)不僅增加了開發(fā)成本,同時(shí)也使測(cè)試用例的質(zhì)量無法得到保障。
如何設(shè)計(jì)可復(fù)用的測(cè)試用例已經(jīng)是軟件行業(yè)面臨的一個(gè)問題。文中針對(duì)跨平臺(tái)系統(tǒng)提出一種設(shè)計(jì)可復(fù)用測(cè)試用例的方法,分別從建立用例庫、測(cè)試可復(fù)用的測(cè)試用例、測(cè)試用例的復(fù)用、可復(fù)用測(cè)試用例的維護(hù)4個(gè)方面進(jìn)行論述,從而形成一套完整的設(shè)計(jì)、使用、維護(hù)模型。
可復(fù)用測(cè)試用例與普通用例相比,通常應(yīng)具有通用性、獨(dú)立性、粗粒度、易維護(hù)性等特征。
1)通用性
通用性是指測(cè)試用例盡量不與具體測(cè)試場(chǎng)景相關(guān)聯(lián),也不體現(xiàn)出具體場(chǎng)景的“個(gè)性化”的內(nèi)容,而只是從眾多相似用例中抽象出具有一般意義的屬性。只有測(cè)試用例具有高度的通用性,才能在更大范圍內(nèi)被復(fù)用。例如,不同系統(tǒng)的登陸頁面,都需要輸入用戶名和密碼做為驗(yàn)證條件,這種普遍適用的輸入原則應(yīng)被保留,而不同系統(tǒng)對(duì)密碼的構(gòu)成要素則有不同的要求,此類與具體場(chǎng)景相關(guān)的測(cè)試信息應(yīng)被去除。依據(jù)這種方法設(shè)計(jì)的測(cè)試用例,才具有更大范圍的通用性。
2)獨(dú)立性
測(cè)試用例的獨(dú)立性是指每個(gè)用例不能依賴于其它用例而存在,也不能和其它用例產(chǎn)生邏輯上的關(guān)聯(lián)關(guān)系。如測(cè)試用例A的成立必須以用例B的測(cè)試通過為自己的先決條件,或者測(cè)試用例A必須以用例B的存在為前提。諸如此類的依賴關(guān)系都會(huì)破壞測(cè)試用例的獨(dú)立性,也會(huì)降低測(cè)試用例的復(fù)用性。
3)粗粒度
如果希望測(cè)試用例具有較高的可復(fù)用性,就要盡量使用粗粒度的測(cè)試用例。因?yàn)闇y(cè)試用例的粒度越小,則越和具體實(shí)踐方法相關(guān)聯(lián),此時(shí)的測(cè)試用例也越依賴于具體的測(cè)試場(chǎng)景。而粗粒度則意味著測(cè)試用例只與功能模塊甚至用戶需求相對(duì)應(yīng),此時(shí)的測(cè)試用例抽象程度較高,易于在其它相同或相似場(chǎng)景中復(fù)用。
4)易維護(hù)性
可復(fù)用的測(cè)試用例不是一成不變的,它會(huì)隨著復(fù)用量的增加而逐漸暴露出一些問題,或隨著測(cè)試場(chǎng)景的變化而不再適應(yīng)實(shí)際實(shí)用,此時(shí)就需要對(duì)測(cè)試庫中的用例進(jìn)行相應(yīng)的調(diào)整和維護(hù)。測(cè)試用例是否易于維護(hù)直接關(guān)系到測(cè)試庫的可持續(xù)使用性,因此必須使測(cè)試用例易于修改和維護(hù)。
跨平臺(tái)系統(tǒng)通常是指一個(gè)應(yīng)用系統(tǒng)會(huì)涉及多個(gè)平臺(tái),各平臺(tái)上的應(yīng)用程序互相配合,共同完成系統(tǒng)功能。如設(shè)計(jì)一套醫(yī)院使用的電子病歷系統(tǒng),其中包括醫(yī)生使用的PC端的C/S架構(gòu)應(yīng)用程序,也包括移動(dòng)設(shè)備端的應(yīng)用程序,還可能包括患者在互聯(lián)網(wǎng)上使用的基于B/S架構(gòu)的應(yīng)用程序,這些系統(tǒng)各自針對(duì)不同的用戶群體提供不同的功能。
在此類系統(tǒng)上可復(fù)用的測(cè)試用例通過包括UI元素測(cè)試用例、功能測(cè)試用例和性能測(cè)試用例。
1)UI測(cè)試用例
UI測(cè)試用例也稱為“用戶界面”測(cè)試用例,它包括界面控件樣式、布局風(fēng)格、色調(diào)、用戶操作習(xí)慣等內(nèi)容。在跨平臺(tái)系統(tǒng)中,應(yīng)盡量保證用戶界面具有較高的一致性,因此不同系統(tǒng)中的UI測(cè)試用例具有很大程度的相似性。
2)黑盒測(cè)試用例
跨平臺(tái)系統(tǒng)中同一功能需求通常會(huì)在不同的系統(tǒng)中出現(xiàn),雖然它們之間可能存在著微小的差別,但整體上卻體現(xiàn)出較高的相似性。如:在PC端和PDA端都需要查詢住院患者信息,或都需要顯示患者某次檢查結(jié)果,這些測(cè)試點(diǎn)可以抽象出通用程度很高的可復(fù)用測(cè)試用例。
3)性能測(cè)試用例
性能測(cè)試用例也是跨平臺(tái)系統(tǒng)中復(fù)用程度很高的一組用例類型,在不同平臺(tái)應(yīng)用里出現(xiàn)的同一功能需求,通常會(huì)有相同或相似的性能要求。如:在PC端和PDA端查詢一位患者的基本信息,都要求服務(wù)器響應(yīng)時(shí)間不能大于500ms。這種情況在跨平臺(tái)系統(tǒng)中大量出現(xiàn),因此也可以通過復(fù)用測(cè)試用例來解決此類問題。
3.1建立用例庫
1)用例庫的作用
在實(shí)際測(cè)試工作中,依據(jù)系統(tǒng)的復(fù)雜程度來區(qū)分,會(huì)有不同數(shù)量的測(cè)試用例,通常一個(gè)中等復(fù)雜程度的模塊就會(huì)涉及到成百甚至上千個(gè)測(cè)試用例。這些測(cè)試用例如果使用人工的方式管理,不僅效率低下,而且也極容易出現(xiàn)錯(cuò)誤,此時(shí)最好的解決方法就是建立一套功能完整、使用方便的測(cè)試用例管理系統(tǒng)。
用例庫就是此類系統(tǒng)的典型代表,它是用來存儲(chǔ)測(cè)試用例的倉庫,將測(cè)試用例分門別類的進(jìn)行歸檔,實(shí)現(xiàn)對(duì)測(cè)試用例的統(tǒng)一存儲(chǔ)、管理和維護(hù),方便后期測(cè)試時(shí)使用。
2)用例庫的重要性
用例庫對(duì)于軟件測(cè)試工作非常重要,主要體現(xiàn)在3個(gè)方面。一是,用例庫能夠減輕測(cè)試用例管理的工作量,減少人工管理測(cè)試用例的弊端。二是,提高測(cè)試用例檢查的工作效率,用戶可以使用簡(jiǎn)單的檢索條件快速查找到自己需要的測(cè)試用例,可以節(jié)省大量時(shí)間。三是,便于測(cè)試用例生命周期的管理和維護(hù),測(cè)試用例的每次修改都會(huì)有相應(yīng)的歷史記錄,方便查看和跟蹤,長(zhǎng)期積累的數(shù)據(jù)可以做為組織過程資產(chǎn)為后續(xù)測(cè)試工作提供相應(yīng)的支持和依據(jù)。
3)用例庫包含的數(shù)據(jù)項(xiàng)和主要功能
用例庫應(yīng)包括測(cè)試用的基本信息,如:測(cè)試用例編號(hào)、標(biāo)題、簡(jiǎn)要介紹、功能描述、測(cè)試要點(diǎn)、預(yù)置條件、輸入內(nèi)容、期望結(jié)果、變更版本等數(shù)據(jù)項(xiàng)。
同時(shí)用例庫還要具有歷史版本記錄的功能,每次修改測(cè)試用例時(shí)都需要更新當(dāng)前版本號(hào),并保存歷史數(shù)據(jù)。
3.2設(shè)計(jì)可復(fù)用測(cè)試用例
設(shè)計(jì)可復(fù)用的測(cè)試用例通常要經(jīng)過篩選、修改、評(píng)審、入庫等幾個(gè)重要環(huán)節(jié)(圖1)。
圖1 設(shè)計(jì)測(cè)試用例流程圖
在前文中已經(jīng)提到設(shè)計(jì)可復(fù)用的測(cè)試用例盡量保證“粗粒度”的層面設(shè)計(jì),通常我們可以基于需求分析過程產(chǎn)生的用例圖(Use Case)為基礎(chǔ)設(shè)計(jì)測(cè)試用例。因?yàn)橛美龍D主要反映用戶的需求,還沒有涉及到具體的設(shè)計(jì)和實(shí)現(xiàn)層面,具有更大的靈活性的普適性,能夠?qū)崿F(xiàn)最大范圍的復(fù)用。此時(shí)需要判斷測(cè)試用例是否具有復(fù)用價(jià)值,將通用性較小的用例排除在用例庫之外。如:某些測(cè)試場(chǎng)景中體現(xiàn)出特定的業(yè)務(wù)流程,而這些業(yè)務(wù)流程在軟件系統(tǒng)的其它部分很少出現(xiàn),這些測(cè)試用例由于失去了通用性,則不能做為復(fù)用的測(cè)試用例。
對(duì)于可復(fù)用的測(cè)試用例,接下來需要判斷其是否滿足前文中提到的4個(gè)特性,即:通用性、獨(dú)立性、粗粒度和易維護(hù)性。如果這些特性在當(dāng)前的測(cè)試用例中不存在或不明顯,則需要修改測(cè)試用例使這些特性更為突出,最終符合可復(fù)用測(cè)試用例的評(píng)價(jià)標(biāo)準(zhǔn)。
修改后的測(cè)試用例不能立即添加到用例庫,為了確保用例庫中的測(cè)試用例都滿足質(zhì)量要求,在入庫前必須要經(jīng)過評(píng)審階段,只有評(píng)審?fù)ㄟ^的測(cè)試用例才能正式加入到用例庫。評(píng)審階段應(yīng)由領(lǐng)域?qū)<摇④浖枨蠓治鋈藛T、軟件設(shè)計(jì)師、程序開發(fā)員和測(cè)試人員等多個(gè)不同角色組成,以確保盡可能客觀、全面的執(zhí)行測(cè)試用例的評(píng)審流程。在評(píng)審過程中除了驗(yàn)證測(cè)試用例是否符合可復(fù)用的特性外,還要對(duì)測(cè)試用例本身的正確性進(jìn)行評(píng)價(jià),包括預(yù)置條件是否正確、輸入與期望輸出是否匹配等。對(duì)于沒有通過評(píng)審的測(cè)試用例需要返回修改步驟進(jìn)行適當(dāng)調(diào)整后,再重新執(zhí)行評(píng)審過程,通過評(píng)審的用例才能最終被記錄到用例庫。
3.3測(cè)試用例復(fù)用
由于在跨平臺(tái)系統(tǒng)中,很多模塊都會(huì)涉及相同或相似的處理邏輯,因此存在大量的測(cè)試用例復(fù)用場(chǎng)景。在復(fù)用測(cè)試用例的過程程,涉及到選擇用例、提取用例、修改用例和復(fù)用用例4個(gè)過程(圖2)。
圖2 復(fù)用測(cè)試用例流程圖
首先根據(jù)當(dāng)前測(cè)試場(chǎng)景的用例圖(Use Case)確定需要設(shè)計(jì)的具體用例,接下來需要到測(cè)試用例用例庫中查找是否存在與當(dāng)前所測(cè)場(chǎng)景相同或相似的測(cè)試用例,即確定當(dāng)前需要測(cè)試的業(yè)務(wù)流程與用例庫中存在用例的相似度。如:在測(cè)試PC端登陸功能模塊時(shí),曾將輸入用戶名和密碼并核對(duì)其正確性的測(cè)試用例做為復(fù)用用例加入到測(cè)試庫,現(xiàn)在需要設(shè)計(jì)在PDA端用戶登陸的測(cè)試用例,則可以通過用例庫的檢索功能查找到之前相似的測(cè)試用例并進(jìn)行提取。
提取的用例并不能立即應(yīng)用在設(shè)計(jì)文件中,由于用例庫中的測(cè)試用例并不是針對(duì)具體測(cè)試場(chǎng)景來設(shè)計(jì)的,而是去掉了與具體測(cè)試場(chǎng)景有關(guān)的“個(gè)性化”屬性,僅保留了最通用的特性。此時(shí)需要根據(jù)當(dāng)前的測(cè)試場(chǎng)景對(duì)已提取的測(cè)試用例進(jìn)行適當(dāng)修改,以滿足當(dāng)前測(cè)試場(chǎng)景的具體特性。如:對(duì)于已提取的使用用戶名和密碼來確認(rèn)當(dāng)前登陸用戶合法身份的測(cè)試用例,需要根據(jù)當(dāng)前的測(cè)試場(chǎng)景,重新指定用例中的部分屬性內(nèi)容,包括:用戶名的長(zhǎng)度、是否允許包含特殊字符、密碼的構(gòu)成規(guī)則等。對(duì)于已修改完成的測(cè)試用例,就可以將其添加到測(cè)試設(shè)計(jì)文檔中,至此完成測(cè)試用例的復(fù)用流程。
3.4可復(fù)用測(cè)試用例的維護(hù)
用例庫中的測(cè)試用例并不是一成不變的,隨著時(shí)間的推移有些用例逐漸失去應(yīng)用場(chǎng)景,不適合再繼續(xù)存放在用例庫中,或者在多次復(fù)用過程中會(huì)發(fā)現(xiàn)測(cè)試庫中的某些用例存在缺陷,此時(shí)必須對(duì)庫中的用例進(jìn)行定期維護(hù),才能保證測(cè)試用例的持續(xù)有效性。維護(hù)過程通常包括獲取用例、評(píng)審用例的有效性、修改用例、測(cè)試用例入庫等幾個(gè)環(huán)節(jié)(圖3)。
圖3 維護(hù)測(cè)試用例流程圖
具體流程為從用例庫中循環(huán)取出待評(píng)審的測(cè)試用例,根據(jù)每次復(fù)用時(shí)的修改記錄,評(píng)價(jià)當(dāng)前測(cè)試用例是否需要修改或從庫中移除,主要從用例的有效性、復(fù)用率、歷次復(fù)用的修改工作量、是否存在缺陷等幾個(gè)方面對(duì)當(dāng)前用例進(jìn)行評(píng)審。如果發(fā)現(xiàn)測(cè)試用例存在某些缺陷,則需要對(duì)其進(jìn)行適當(dāng)修正后再次評(píng)價(jià),直到測(cè)試用例滿足條件后才可再次入庫。此時(shí)需要注意的是原有的測(cè)試用例也需要保留,歷次的評(píng)審過程最終會(huì)形成測(cè)試用例的生命周期,對(duì)未來測(cè)試用例的入庫和維護(hù)工作提供必要的參考數(shù)據(jù)。
對(duì)測(cè)試用例的定期維護(hù)是用例庫保持其生命力的重要措施和手段,也是確保用例庫中可復(fù)用測(cè)試用例良性發(fā)展的重要途徑,因此必須重視定期維護(hù)工作。
文中提出了一種對(duì)跨平臺(tái)系統(tǒng)中如何復(fù)用測(cè)試用例的基本思路,涵蓋了建立用例庫、設(shè)計(jì)可復(fù)用的測(cè)試用例、復(fù)用測(cè)試用例、維護(hù)測(cè)試用例等環(huán)節(jié),貫穿了測(cè)試用例復(fù)用的生命周期。并歸納總結(jié)了可復(fù)用測(cè)試用例應(yīng)具有通用性、獨(dú)立性、粗粒度、易維護(hù)性的特性,為測(cè)試用例復(fù)用的流程化、工程化提供了一個(gè)可以借鑒的思路。
[1]儲(chǔ)海華.計(jì)算機(jī)維護(hù)類軟件測(cè)試用例的設(shè)計(jì)及復(fù)用研究[J].軟件產(chǎn)業(yè)與工程,2013(5):51-56.
[2]尹平.可復(fù)用測(cè)試用例研究[J].計(jì)算機(jī)應(yīng)用,2010,30(5): 1309-1311.
[3]芮素娟.可復(fù)用測(cè)試用例研究[J].電腦知識(shí)與技術(shù),2013,9(14):3308-3310.
[4]邵正隆.面向復(fù)用的測(cè)試設(shè)計(jì)模型的研究與實(shí)現(xiàn)[J].小型微型計(jì)算機(jī)系統(tǒng),2006,27(11):2150-2155.
[5]王明珠.軟件測(cè)試中測(cè)試用例復(fù)用的研究[J].信息系統(tǒng)工程,2014:136.
[6]尚冬娟.軟件測(cè)試中的測(cè)試用例及復(fù)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(1):69-72.
[7]Myers G J.軟件測(cè)試的藝術(shù)[M].3版.北京:機(jī)械工業(yè)出版社,2012.
[8]Patton,R..軟件測(cè)試[M].2版.北京:機(jī)械工業(yè)出版社,2006.
[9]朱少民.全程軟件測(cè)試[M].2版.北京:電子工業(yè)出版社,2014.
[10]楊莉等.軟件自動(dòng)化測(cè)試[M].北京:電子工業(yè)出版社,2012.
[11]李龍等.軟件測(cè)試實(shí)用技術(shù)與常用模板[M].北京:機(jī)械工業(yè)出版社,2010.
[12]張江河.軟件測(cè)試用例復(fù)用研究[D].西安:西北大學(xué),2005.
[13]張娟.軟件測(cè)試中測(cè)試用例復(fù)用的研究[D].上海:上海大學(xué), 2012.
[14]趙瑞蓮.軟件測(cè)試方法研究[D].北京:中國(guó)科學(xué)院大學(xué), 2001.
[15]胡正芳.測(cè)試用例復(fù)用技術(shù)研究[D].哈爾濱:哈爾濱工程大學(xué),2009.
[16]楊凌燕.可復(fù)用的測(cè)試用例管理系統(tǒng)的開發(fā)[D].上海:華東師范大學(xué),2009.
Research on test case reuse technology in cross platform system
YANG Na
(Tianjin Jin Wei Shou Jia Software Co.,Ltd.,Tianjin 300061,China)
In this paper,a new method is proposed to solve the problem of test case reuse in cross platform system.Firstly,the four basic characteristics of the reusable test case are discussed,and themain types of reusable test cases are discussed. This article is about the establishment and use of the test case library,and discusses the process of the test case reuse in 3 aspects:the design testcase,the use of testcase,and themaintenance of reusable testcase.
software testing;cross platform;test case;reuse
TN7
A
1674-6236(2016)19-0076-03
2015-10-28稿件編號(hào):201510207
楊 娜(1983—),女,天津人,助理工程師。研究方向:軟件測(cè)試,測(cè)試流程改進(jìn)。