<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

            字號: | 推薦給好友 上一篇 | 下一篇

            軟件測試中用組合提高軟件測試用例的生成

            發(fā)布: 2010-9-27 13:31 | 作者: 網(wǎng)絡(luò )轉載 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng)采編 | 查看: 103次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)
              

            軟件測試中用組合提高軟件測試用例的生成

            測試用例(Test Case)是為某個(gè)特殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試某個(gè)程序路徑或核實(shí)是否滿(mǎn)足某個(gè)特定需求。

              測試用例(Test Case)目前沒(méi)有經(jīng)典的定義。比較通常的說(shuō)法是:指對一項特定的軟件產(chǎn)品進(jìn)行測試任務(wù)的描述,體現測試方案、方法、技術(shù)和策略。內容包括測試目標、測試環(huán)境、輸入數據、測試步驟、預期結果、測試腳本等,并形成文檔。

             

             

             

            測試一直是軟件開(kāi)發(fā)過(guò)程中的一個(gè)重要過(guò)程,而三個(gè)因素使得它扮演了更重要的角色。首先,微軟.Net的環(huán)境已經(jīng)顯著(zhù)地提高了程序員編寫(xiě)自定義自動(dòng)化測試的能力,以前需要兩周時(shí)間創(chuàng )建的測試項目,現在在.Net Framework下只用幾個(gè)小時(shí)便可完成。第二,程序和系統越趨于復雜,所需的測試就越精密。最后,軟件安全性已不再是程序開(kāi)發(fā)最后才考慮的問(wèn)題,它是絕對必要的。在以前有可能存在一款軟件沒(méi)有經(jīng)過(guò)完整的測試就已向外發(fā)布的情況,但如今這已不再可行。為了幫助你滿(mǎn)足現今的測試挑戰,我將在這個(gè)欄目里每隔幾個(gè)月就向你展示軟件測試的最佳方法、原則和技術(shù)。

              這個(gè)月我將從組合在軟件測試中的角色開(kāi)始說(shuō)起。編程產(chǎn)生組合的能力,能夠為你的測試用例輸出提供強有力的方法。首先我談?wù)勎宜f(shuō)的組合的意思:如果你現在正在寫(xiě)一個(gè)撲克牌的程序,需要你手動(dòng)輸入5張牌牌型的所有可能情況,你一定不會(huì )樂(lè )意。但如果你用這個(gè)欄目里的代碼來(lái)處理,你將能夠在幾分鐘內做好這件事:

            MILY: Courier New; BACKGROUND-COLOR: #dddddd" align=center>
            string[] deck = new string[] { "Ac""Ad""Ah""As""Kc", (...) };
            Combination c 
            = new Combination(52,5); // 52 cards, 5 at a time
            string[] pokerHand = new string[5];
                    
            while (c != null)
            {
              pokerHand 
            = c.ApplyTo(deck);
              PrintHand(pokerHand);
              c 
            = c.Successor();
            }

            在大量的自動(dòng)化測試方案中,你一旦學(xué)習并認識了組合,你會(huì )發(fā)現它驚人的有用。再舉一個(gè)例子,假如你正在測試某個(gè)系統,要用戶(hù)從文本框接收用戶(hù)傳入的10個(gè)字符。用戶(hù)可能會(huì )輸入"ABCDEFGHIJ",或者是")(*&^%$#@!",你想知道共有多少種測試的用例。假定你要求輸入字符的可選類(lèi)型等于20種(這可能根據系統要求的不同而不同,比如從大寫(xiě)的'A'到'Z',或者是從0到9等等)。

            要特別強調的是,你必須從20個(gè)不同的字符中一次性選取10個(gè),即Choose(20,10)——這個(gè)函數我會(huì )在稍后解釋。請注意,這里我其實(shí)簡(jiǎn)化了問(wèn)題。實(shí)際上,你可能還需要考慮每個(gè)邊界條件和其他測試概念的排列組合。

            現在,我將會(huì )創(chuàng )建一個(gè)C#語(yǔ)言寫(xiě)的的組合類(lèi),并向你展示怎樣用組合來(lái)提高測試的性能。我想你一定會(huì )認為理解并運用組合及其相關(guān)的理論是有價(jià)值的。

            圖1 Combinations Demo

              貼上截圖是讓你能夠跟上我思路的最好方式。圖1是一個(gè)Windows@-based應用程序的截圖,它演示了組合的應用。正如你所看見(jiàn)的,組合就是一組元素的無(wú)序子集。在這個(gè)例子中我們有5個(gè)元素——Adam,Barb,Carl,Dave和Eric——我只對3個(gè)元素的組合感興趣。從5個(gè)元素中一次性選出3個(gè),共有10種不同組合:

            { Adam, Barb, Carl }, { Adam, Barb, Dave }, . . . { Carl, Dave, Eric }

              注意,無(wú)序子集的意思是,{Carl,Barb,Adam}和{Adam,Barb,Carl}是等價(jià)的,兩者都代表同一個(gè)子集。圖1還說(shuō)明了一點(diǎn),在用給定的元素集合大小和子集大小生成組合時(shí),我們還需要計算出不同組合的總數。

              數學(xué)中組合的定義是:n是從整數0到n-1的集合,從4個(gè)元素的集合中一次選取2個(gè)的6種組合即是:

            01 }{ 12 }
            02 } { 13 }
            03 } { 23 }

              正如我之前所說(shuō),組合在軟件測試、開(kāi)發(fā)、管理等各種領(lǐng)域中都有著(zhù)很大的作用。組合在數學(xué)領(lǐng)域中是古典而又深刻的,但我發(fā)現有很多程序員對它的理解都不夠徹底,現有網(wǎng)絡(luò )中的一些與組合相關(guān)的代碼不是寫(xiě)錯了,就是執行效率低下。

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: 軟件測試


            關(guān)于領(lǐng)測軟件測試網(wǎng) | 領(lǐng)測軟件測試網(wǎng)合作伙伴 | 廣告服務(wù) | 投稿指南 | 聯(lián)系我們 | 網(wǎng)站地圖 | 友情鏈接
            版權所有(C) 2003-2010 TestAge(領(lǐng)測軟件測試網(wǎng))|領(lǐng)測國際科技(北京)有限公司|軟件測試工程師培訓網(wǎng) All Rights Reserved
            北京市海淀區中關(guān)村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
            技術(shù)支持和業(yè)務(wù)聯(lián)系:info@testage.com.cn 電話(huà):010-51297073

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>