qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          軟件測(cè)試用例編寫建議

          作為軟件測(cè)試人員(SQA/SQC),做的最頻繁并且最主要的活動(dòng)之一就是編寫測(cè)試用例了。首先,請(qǐng)記住以下所有的討論都是關(guān)于編寫測(cè)試用例,而不是設(shè)計(jì)/定義/確認(rèn)測(cè)試用例(TC)。

            這項(xiàng)主要活動(dòng)有幾個(gè)重要的關(guān)鍵因素,讓我們先來大概了解一下吧。

            A、測(cè)試用例要易于定期修改和更新

            我們生活在 一個(gè)不斷變化的世界,軟件也不能免于變化。需求也是如此,這就直接的影響到了測(cè)試用例。不論什么時(shí)候,一旦需求發(fā)生變化,測(cè)試用例就需要更新。然而,并不 是只有需求的變化才會(huì)引起測(cè)試用例的版本變化和更新。在測(cè)試用例執(zhí)行過程中,腦海中會(huì)涌現(xiàn)出許多的想法,單個(gè)測(cè)試用例的許多子條件會(huì)引起更新甚至測(cè)試用例 的補(bǔ)充。除此而外,在回歸測(cè)試中一些補(bǔ)丁和/或波紋都會(huì)需要修訂或是新的測(cè)試用例。

            B、測(cè)試用例要易于分配于執(zhí)行用例的測(cè)試人員

             當(dāng)然了,讓單獨(dú)一個(gè)測(cè)試員執(zhí)行完所有的測(cè)試用例是幾乎不太可能的。正常情況下,一個(gè)單獨(dú)的應(yīng)用程序會(huì)有幾個(gè)測(cè)試員分別負(fù)責(zé)測(cè)試不同的模塊,因此,根據(jù)他 們自己在應(yīng)用程序中測(cè)試的部分測(cè)試用例也會(huì)相應(yīng)的分配開。一些和應(yīng)用程序集成相關(guān)的測(cè)試用例有可能會(huì)由多人執(zhí)行而有的則只是由單獨(dú)的個(gè)人執(zhí)行。

            C、測(cè)試用例要易于集群和批處理

             屬于一個(gè)測(cè)試場(chǎng)景的測(cè)試用例通常都會(huì)要求以一些特定序列或小組格式來執(zhí)行,這很正常,也是很常見的。可能會(huì)有一些測(cè)試用例是其他測(cè)試用例的先決條件,同 樣的,根據(jù)AUT的業(yè)務(wù)邏輯,一個(gè)單獨(dú)的測(cè)試用例會(huì)在幾個(gè)測(cè)試條件中存在,而一個(gè)單獨(dú)的測(cè)試條件也可能會(huì)由多個(gè)測(cè)試用例組成。

            D、測(cè)試用例有相互依賴的趨勢(shì)

             測(cè)試用例中一個(gè)有趣并且重要的行為就是他們彼此之間是相互依賴的。在具有復(fù)雜業(yè)務(wù)邏輯的中型到大型應(yīng)用程序中,這種趨勢(shì)則更為明顯。任何應(yīng)用程序中能明 確的觀察到這個(gè)行為的最清晰的地方就是,相同甚至不同應(yīng)用的不同模塊之間的互操作性。簡(jiǎn)單的說就是,不管相異模塊或應(yīng)用程序是在哪里相互依賴的,相同的行 為都體現(xiàn)在了測(cè)試用例中。

            E、測(cè)試用例要易于在開發(fā)者間分配(尤其是在測(cè)試用例驅(qū)動(dòng)開發(fā)環(huán)境中)

             關(guān)于測(cè)試用例,重要的一點(diǎn)就是,它并不是只被測(cè)試人員使用的。在正常情況下,當(dāng)開發(fā)人員修改bug的時(shí)候,他們間接的使用了測(cè)試用例來修改問題。同樣 的,如果遵守的是測(cè)試用例驅(qū)動(dòng)開發(fā),那么開發(fā)員則直接使用了測(cè)試用例來構(gòu)建他們代碼的邏輯并覆蓋測(cè)試用例中處理到的所有的場(chǎng)景。

            所以,將以上的5點(diǎn)記住,這里給出一些編寫測(cè)試用例的建議:

            要簡(jiǎn)潔但是不能太簡(jiǎn)單;要復(fù)雜但是又不能太復(fù)雜。

            這句話似乎是自相矛盾的,但是我發(fā)誓并不是如此。走完測(cè)試用例的每一步,正確序列和預(yù)期結(jié)果的正確映射都得要精確,這就是我所說的讓測(cè)試用例保持簡(jiǎn)單。

             而,使其復(fù)雜一點(diǎn)實(shí)際上指的是測(cè)試用例得和測(cè)試計(jì)劃以及其他測(cè)試用例相融合。當(dāng)需要的時(shí)候,參照其他的測(cè)試用例,相關(guān)工件,GUI等。但是做此事的時(shí)候 得均衡一下,不能讓測(cè)試人員為完成單個(gè)測(cè)試場(chǎng)景就來回的搬運(yùn)大堆的文件。另一方面,不要讓測(cè)試人員希望你會(huì)壓縮這些測(cè)試用例文件。在編寫測(cè)試用例的時(shí)候, 請(qǐng)時(shí)刻記住你或者別人不得不修改并且更新這些測(cè)試用例。

          測(cè)試用例編制完成之后,以一個(gè)測(cè)試人員的角度再審視一遍:

            永遠(yuǎn)不要以為你寫完測(cè)試場(chǎng)景的最后一個(gè)測(cè)試用例后就算完事了。回過頭去從開始將所有的測(cè)試用例再看一遍,但是不要當(dāng)自己是個(gè)測(cè)試用例的編寫者或 測(cè)試策劃者,以測(cè)試人員的角度審視所有的測(cè)試用例。理性的思考并且干運(yùn)行你的測(cè)試用例,評(píng)估一下你所提到的每一步都是清晰易懂的,并且預(yù)期的結(jié)果和這些步 驟也是相協(xié)調(diào)的。

            測(cè)試用例中規(guī)定的測(cè)試數(shù)據(jù)不僅要對(duì)實(shí)際的測(cè)試人員是可行的,而且也得是依據(jù)真實(shí)的實(shí)時(shí)環(huán)境的。要確保測(cè)試用例中沒有依賴沖突,而且也要確認(rèn)對(duì)于其他測(cè)試用例/工件/GUI的所有參考都是精確的,否則測(cè)試人員會(huì)陷入大麻煩中。

            約束測(cè)試人員,但同時(shí)也讓他們感到容易。

            不要把測(cè)試數(shù)據(jù)都留給測(cè)試人員,給他們一個(gè)輸入的范圍,特別是當(dāng)執(zhí)行運(yùn)算的時(shí)候或者是應(yīng)用程序的行為是取決于輸入的時(shí)候。也許你會(huì)把測(cè)試項(xiàng)目的 值分給他們,但是永遠(yuǎn)不要讓他們自己來選擇測(cè)試數(shù)據(jù)項(xiàng)目,因?yàn)椋幸鉄o意的,他們會(huì)使用相同的測(cè)試數(shù)據(jù)因而在執(zhí)行測(cè)試用例的時(shí)候一些重要的測(cè)試數(shù)據(jù)會(huì)被忽 略掉。

            根據(jù)測(cè)試類別和應(yīng)用程序的相關(guān)領(lǐng)域?qū)y(cè)試用例進(jìn)行組織,這能讓測(cè)試人員感到容易一些。清晰的指出哪些測(cè)試用例是相互依賴的/或是可批處理的。同樣的,明確的指示出哪些測(cè)試用例是獨(dú)立的,孤立的,因此,測(cè)試人員就可以按照自己的意愿管理他/她的全部測(cè)試活動(dòng)。

            成為一個(gè)貢獻(xiàn)者

            從不接受FS或設(shè)計(jì)文檔原來的樣子,你的工作不僅僅是將FS瀏覽一遍然后明確測(cè)試場(chǎng)景。作為一個(gè)和質(zhì)量相關(guān)的資源,你要毫不猶豫的去貢獻(xiàn)。要給 開發(fā)人員提建議,特別是在測(cè)試用例驅(qū)動(dòng)開發(fā)環(huán)境中。建議一些下拉列表,日歷控件,選擇列表,單選按鈕,更有意義的信息,警告,提示,可用性的改進(jìn)等等。

            不要忘記最終的用戶

            最重要的利益相關(guān)者就是將會(huì)實(shí)際使用AUT的最終的用戶,所以,在編寫測(cè)試用例的任何階段都不要忘記他。事實(shí)上,在SDLC的任何階段也都不能 忽視最終的用戶,但是目前我只強(qiáng)調(diào)和我討論的話題相關(guān)的。所以在識(shí)別測(cè)試場(chǎng)景的時(shí)候,不要忽視這些大多情況下被用戶使用的用例,或者是那些甚至不太使用的 業(yè)務(wù)關(guān)鍵用例。把你自己想象成最終的用戶,把所有的測(cè)試用例瀏覽一遍,判斷一下你文檔中測(cè)試用例執(zhí)行的實(shí)際價(jià)值。

            總結(jié):

            測(cè)試用例的編寫是一項(xiàng)會(huì)對(duì)整個(gè)測(cè)試階段產(chǎn)生重要影響的活動(dòng)。這個(gè)事實(shí)使得測(cè)試用例文件編制這個(gè)任務(wù)變得非常的關(guān)鍵并且微妙。所以,編寫測(cè)試用例 得先適當(dāng)?shù)挠?jì)劃一下,還得非常的具有條理性。編制測(cè)試用例文件的人必須記住,這項(xiàng)活動(dòng)不是為他/她自己而做的,而是為了整個(gè)團(tuán)隊(duì),這個(gè)團(tuán)隊(duì)包括了其他測(cè)試 人員和開發(fā)者,還有那些會(huì)被這項(xiàng)工作直接或間接影響到的客戶。

            所以,在這項(xiàng)活動(dòng)進(jìn)行的過程中必須給予適當(dāng)?shù)年P(guān)注。對(duì)所有的使用者來說,測(cè)試用例文檔必須是很好理解的,方式明確,維護(hù)簡(jiǎn)單。除此而外,測(cè)試用 例文檔必須介紹所有重要的特征,必須覆蓋AUT所有重要的邏輯流,伴隨著實(shí)時(shí)和實(shí)際可接受的輸入。你編寫測(cè)試用例的戰(zhàn)略是什么?和我們的讀者分享你的建議 吧~也可把你的問題寫在下面的評(píng)論中。


          posted on 2013-01-22 14:00 順其自然EVO 閱讀(480) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄

          <2013年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 栖霞市| 上栗县| 德化县| 弋阳县| 余干县| 泗水县| 揭西县| 通许县| 邯郸县| 成都市| 芷江| 莱州市| 甘谷县| 曲周县| 木兰县| 龙山县| 资阳市| 汽车| 怀安县| 区。| 新巴尔虎右旗| 望奎县| 上犹县| 仙游县| 梅州市| 周宁县| 无锡市| 从江县| 四川省| 乌兰察布市| 牡丹江市| 普洱| 襄城县| 观塘区| 九龙坡区| 剑阁县| 河北省| 康马县| 宁乡县| 平阳县| 二连浩特市|