最近SDLC模型的測試驅動開發(TDD)和行為驅動開發(BDD)受到許多關注。對大多數人來說,對TDD的了解是開發人員在開發功能之前就先編寫測試案例的一種做法。但是,測試優先 (test-first) 只是TDD的一部分,系統中還有許多其他因素可能會使TDD變得更加複雜。提到TDD也會同時談到BDD。 BDD最初是為了解決TDD中的問題而開發的。在TDD方法中,測試是用程式碼編寫的,但是BDD是利用自然語言撰寫的。不幸的是,TDD和BDD仍然有很多缺點,它們的效果仍然不是最佳的。甚至,TDD和BDD無法合適地應用於自動化GUI測試。 TDD和BDD在GUI級別上極難執行,因為在需要進行完整功能測試的情況而言,TDD和BDD並非完全理想,但對於GUI測試卻是不可少的。但是,TDD和BDD的主要理念(測試優先)在軟件工程領域仍然是一個有趣的想法。這個想法激勵我們採用先撰寫測試案例的概念來解決TDD和BDD問題。該方法是使用GUI的prototype在軟體開發的設計階段即測試軟體。 GUI prototype將使用稱為JustInMind的工具建立。建立和執行的測試案例皆來自用戶需求和用戶使用情境。為了生成測試案例,我們將使用名為U!Ocicat的CR (Capture and Replay) 工具。錄製下來的測試案例將在以後用於測試軟體功能的實作。我們預期這一大突破將使測試人員無需撰寫大量測試程式碼即可更輕鬆地進行早期軟體測試。利用早期的設計階段的測試,它將可以從一開始就大大提高軟件的質量。對開發人員和客戶之間看法的誤解將會減少。因此,撰寫出的軟體將具有更高的品質,並滿足所有用戶的要需求。;SDLC models that have received attention recently are the Test-Driven Development (TDD) and Behavior-Driven Development (BDD). A brief understanding of most people about TDD is a practice in which the developers write tests before code. But, the test-first is only one part of TDD. There are many other cogs in the systems that potentially make TDD even more complex. Talking about TDD will remind us of BDD. BDD originally developed as a response to the issues in the TDD. In the TDD approach, the test is written in codes but BDD comes with the common language test case. Unfortunately, TDD and BDD still have many shortcomings and their implementations are still not optimal. Even more, TDD and BDD cannot be properly applied to automated GUI testing. TDD and BDD are extremely difficult to perform at the GUI level because those are not exactly ideal for situations requiring full functional tests, and full functional tests are indispensable to GUI testing. But the main idea of TDD and BDD, test-first, is still an interesting idea in the software engineering field. This idea inspires us to adopt the testing-first concept as a solution to the problems of TDD and BDD. The solution is testing the software in the design phase of the software development using the GUI prototype. GUI Prototype would be created with a tool called JustInMind. Test cases to be created and run on the GUI prototype come from user requirements and user scenarios. To generate the test cases, we are going to use a Capture and Replay tool, named U!Ocicat. The recorded test cases would be used for testing the implementation later. This breakthrough is expected to make testers easier to do earlier software testing without having to write a lot of testing code. With the earlier design test, it would greatly improve the quality of the software from an earlier step. There will be less misunderstanding of the perception between developers and stakeholders. Therefore, the software produced would be of higher quality and fulfill all the user requirements.