<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)有公告

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

            使用 RSpec 進(jìn)行行為驅動(dòng)測試

            發(fā)布: 2009-5-26 10:34 | 作者: 不詳 | 來(lái)源: 測試時(shí)代采編 | 查看: 208次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)   測試熱潮現在傳播到了 Ruby 編程社區,并且愈演愈熱。在過(guò)去一年里,測試領(lǐng)域中最為矚目的創(chuàng )新應屬 RSpec 的引入和快速發(fā)展,這是一種行為驅動(dòng)測試工具。通過(guò)本文了解 RSpec 如何改變人們思考測試的方式。 
                    在過(guò)去十年中,軟件開(kāi)發(fā)人員對測試的熱情日漸低迷。同一時(shí)期出現的動(dòng)態(tài)語(yǔ)言并沒(méi)有提供編譯程序來(lái)捕捉最基本的錯誤,這使得測試變得更加重要。隨著(zhù)測試社區的成長(cháng),開(kāi)發(fā)人員開(kāi)始注意到,除了捕獲 bug 等最基本的優(yōu)點(diǎn)外,測試還具有以下優(yōu)勢:

                    測試能夠改進(jìn)您的設計。進(jìn)行測試的每個(gè)目標對象必須具備至少兩個(gè)客戶(hù)機:生產(chǎn)代碼和測試用例。這些客戶(hù)機強制您對代碼進(jìn)行解耦。測試還鼓勵開(kāi)發(fā)人員使用更小、更簡(jiǎn)單的方法。 
                    測試減少了不必要的代碼。在編寫(xiě)測試用例時(shí),您養成了很好的測試習慣,即只編寫(xiě)運行測試用例所需的最少代碼。您抵制住了對功能進(jìn)行編碼的誘惑,因為您目前還不需要它。 
                    推動(dòng)了測試優(yōu)先開(kāi)發(fā)。您編寫(xiě)的每個(gè)測試用例會(huì )確定一個(gè)小問(wèn)題。使用代碼解決這個(gè)問(wèn)題非常有用并且可以推動(dòng)開(kāi)發(fā)。當我進(jìn)行測試驅動(dòng)開(kāi)發(fā)時(shí),時(shí)間過(guò)得飛快。
            測試提供了更多的自主權。在使用測試用例捕獲可能的錯誤時(shí),您會(huì )發(fā)現自己非常愿意對代碼進(jìn)行改進(jìn)。


            測試驅動(dòng)的開(kāi)發(fā)和 RSpec
                    有關(guān)測試的優(yōu)點(diǎn)無(wú)需贅述,我將向您介紹一個(gè)簡(jiǎn)單的使用 RSpec 的測試驅動(dòng)開(kāi)發(fā)示例。RSpec 工具是一個(gè) Ruby 軟件包,可以用它構建有關(guān)您的軟件的規范。該規范實(shí)際上是一個(gè)描述系統行為的測試。使用 RSpec 的開(kāi)發(fā)流程如下:

                    編寫(xiě)一個(gè)測試。該測試描述系統中某個(gè)較小元素的行為。 
                    運行測試。由于尚沒(méi)有為系統中的相應部分構建代碼,測試失敗。這一重要步驟將測試您的測試用例,檢驗測試用例是否在應當失敗的時(shí)候失敗。 
                    編寫(xiě)足夠的代碼,使測試通過(guò)。 
                    運行測試,檢驗測試是否成功。 
                    實(shí)質(zhì)上,RSpec 開(kāi)發(fā)人員所做的工作就是將失敗的測試用例調試為成功的測試用例。這是一個(gè)主動(dòng)的過(guò)程。本文中,我將介紹 RSpec 的基本用法。

                    首先,假設您已安裝了 Ruby 和 gems。您還需要安裝 RSpec。輸入下面的內容:

            gem install rspec

            使用示例
                    接下來(lái),我將逐步構建一個(gè)狀態(tài)機。我將遵循TDD 規則。首先編寫(xiě)自己的測試用例,并且直到測試用例需要時(shí)才編寫(xiě)代碼。Rake 的創(chuàng )建者 Jim Weirich 認為這有助于角色扮演。在編寫(xiě)實(shí)際的生產(chǎn)代碼時(shí),您希望充當一回 jerk 開(kāi)發(fā)人員的角色,只完成最少量的工作來(lái)使測試通過(guò)。在編寫(xiě)測試時(shí),您則扮演測試人員的角色,試圖為開(kāi)發(fā)人員提供一些有益的幫助。

                    以下的示例展示了如何構建一個(gè)狀態(tài)機。如果您以前從未接觸過(guò)狀態(tài)機,請查閱 參考資料。狀態(tài)機具有多種狀態(tài)。每種狀態(tài)支持可以轉換狀態(tài)機狀態(tài)的事件。測試驅動(dòng)開(kāi)發(fā)入門(mén)的關(guān)鍵就是從零入手,盡量少地使用假設條件。針對測試進(jìn)行程序設計。

                    使用清單 1 的內容創(chuàng )建名為 machine_spec.rb 的文件。該文件就是您的規范。您還不了解 machine.rb 文件的作用,目前先創(chuàng )建一個(gè)空文件。

            清單 1. 最初的 machine_spec.rb 文件
                require 'machine'

                  

            延伸閱讀

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

            TAG: RSpec 驅動(dòng) 行為

            21/212>

            軟件測試技術(shù)分類(lèi)最新內容
            關(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>