![]() |
Raluca Gagea在軟件測(cè)試行業(yè)工作了5年,至今仍熱愛(ài)著它。 Raluca初是在一個(gè)公司開發(fā)一個(gè)計(jì)費(fèi)和客戶服務(wù)平臺(tái)中負(fù)責(zé)各種測(cè)試活動(dòng),她由此獲得了測(cè)試經(jīng)驗(yàn)。這引發(fā)了她對(duì)需求、測(cè)試分析、測(cè)試用例設(shè)計(jì)的興趣。 獲得必要的信心和質(zhì)量驅(qū)動(dòng)的一組動(dòng)作后,她開始在一家外包公司工作,在那她一直參與各種項(xiàng)目,現(xiàn)在已經(jīng)聚集了測(cè)試服務(wù)元素的不少新經(jīng)驗(yàn)。 過(guò)去的一年,她在一家信用卡處理公司職,她試著實(shí)施各種測(cè)試過(guò)程,包括親身卷入許多測(cè)試階段。 一步一步地,她正邁進(jìn)開發(fā)過(guò)程的測(cè)試管理角色。 除了她項(xiàng)目的相關(guān)活動(dòng), Raluca也很樂(lè)意協(xié)助公司內(nèi)部的一些研究組(一個(gè)是測(cè)試分析&設(shè)計(jì)組,一個(gè)是測(cè)試管理組)以及針對(duì)這些主題的其他培訓(xùn)活動(dòng)。 在這里,我們可以分享我們的經(jīng)驗(yàn),共同學(xué)習(xí),并指導(dǎo)新。 |
每推出一個(gè)產(chǎn)品,我發(fā)現(xiàn)測(cè)試用例設(shè)計(jì)問(wèn)題越來(lái)越具有挑戰(zhàn)性,但我已經(jīng)學(xué)會(huì)了如何區(qū)分神話與現(xiàn)實(shí)之間的差異。我曾經(jīng)遇到的主要的神話都與測(cè)試用例的無(wú)益,難度,業(yè)務(wù)類型間的不兼容,測(cè)試人員的個(gè)人資料或開發(fā)進(jìn)程相關(guān)。這是神話。
不幸的是,我發(fā)現(xiàn),與測(cè)試用例及需求的可跟蹤性相關(guān)的一切,僅被視作被一個(gè)正式推出過(guò)程強(qiáng)制實(shí)行的強(qiáng)制性過(guò)程,但它不被認(rèn)為像實(shí)際上那樣有價(jià)值。這導(dǎo)致了低效率,無(wú)知和“匆忙”測(cè)試。這是現(xiàn)實(shí)。
本文中,我想和大家分享我關(guān)于可以使測(cè)試用例設(shè)計(jì)觀念非凡的Soft Touch的意見。
何時(shí)適合開始考慮測(cè)試用例?
測(cè)試用例不僅僅是用來(lái)測(cè)試各種flow的一些句子。
測(cè)試用例是我們通過(guò)衡量需求覆蓋范圍及它們?cè)陂_發(fā)過(guò)程中的每一點(diǎn)的狀態(tài)推出產(chǎn)品時(shí)證明信心的方法——要求是否被足夠多的測(cè)試用例覆蓋,某一點(diǎn)上的測(cè)試執(zhí)行狀態(tài)是否像期望的或計(jì)劃的那樣。
有了這個(gè)重大的責(zé)任,測(cè)試用例需要我們的一點(diǎn)幫助,以便終能夠向我們證明正確的事情。
他們需要在我們第一次接觸 “未來(lái)的產(chǎn)品”時(shí)被考慮在內(nèi),而不是一切緒時(shí)。 這意味著我們必須用我們收集的每條信息聯(lián)系他們。首先看看第一次接觸。
我們收到一些業(yè)務(wù)需求,也許不是終需求,也許在我們與客戶首次互動(dòng)……
▪他們是可測(cè)試的嗎?
如果是的話,那么我們可以繼續(xù)。如果不是,那么我們需要提出問(wèn)題。
▪他們是終產(chǎn)品或業(yè)務(wù)的關(guān)鍵功能嗎?
如果是的話,我們要看哪種需要的測(cè)試集?我們?nèi)绾蝺?yōu)先考慮他們?改變花在審查測(cè)試用例、執(zhí)行它們、跟蹤執(zhí)行狀態(tài)、然后恢復(fù)初始優(yōu)先級(jí)上的精力的優(yōu)先級(jí)的幾率有多大?
▪如何構(gòu)造需求文檔?
比方說(shuō),我們收到用例模型。我們的第一反應(yīng)會(huì)是用佳測(cè)試場(chǎng)景及備選流,有可能還是使用擁有大量步驟的獨(dú)立設(shè)計(jì)風(fēng)格(這意味著每個(gè)測(cè)試用例可以單獨(dú)被執(zhí)行而不依賴于其它測(cè)試用例)去構(gòu)建基于由行為驅(qū)動(dòng)的功能流的測(cè)試用例。這并沒(méi)有錯(cuò),但我們?nèi)匀恍枰紤]一些其他因素,例如:
▪對(duì)于對(duì)客戶并不那么重要但其他場(chǎng)景運(yùn)行卻需要的關(guān)鍵功能,我們應(yīng)該分別對(duì)待,用較高優(yōu)先級(jí)而不是佳測(cè)試場(chǎng)景加以標(biāo)記。
▪由一個(gè)行動(dòng)者執(zhí)行的每個(gè)功能流都有需要操作的必要中間層。這意味著我們需要考慮他們的測(cè)試——特殊測(cè)試用例集,或另一種設(shè)計(jì)風(fēng)格或更詳細(xì)的編寫風(fēng)格。這意味著我們一定要考慮一些技巧去選擇有代表性的測(cè)試用例——至少一些等價(jià)類劃分及其邊界值。
▪測(cè)試用例中有終端到終端的flow可能意味著我們的測(cè)試用例有較高冗余度及如果初期常見的步驟之一不工作時(shí)阻擋整個(gè)執(zhí)行的高風(fēng)險(xiǎn)。分裂功能組件中終端到終端的flow或許可以更好地工作。
▪回歸測(cè)試 - 在獨(dú)立的測(cè)試用例上更容易做到,而不是在級(jí)聯(lián)的測(cè)試用例上。
▪我們可能想要或需要自動(dòng)化flow的某些部分,因?yàn)樗麄冎械囊恍┎荒苓M(jìn)行自動(dòng)化。這無(wú)疑表明了一個(gè)有時(shí)采用級(jí)聯(lián)方式的詳細(xì)的編寫風(fēng)格?紤]到終端到終端的flow的初始結(jié)構(gòu),我們一定會(huì)寫出另一個(gè)可以進(jìn)行自動(dòng)化的測(cè)試用例——另一項(xiàng)工作,包含目前其他測(cè)試用例中的相同信息,再一次造成了冗余。
▪有人考慮過(guò)非功能性的需求嗎?他們不可能被包含在我們剛剛收到的用例模型里,所以我們需要確保我們有一個(gè)他們的測(cè)試用例結(jié)構(gòu)。