Loading...

An Improvement on Test Driven Development

Sadeghi, Alireza | 2011

800 Viewed
  1. Type of Document: M.Sc. Thesis
  2. Language: Farsi
  3. Document No: 41219 (19)
  4. University: Sharif University of Technology
  5. Department: Computer Engineering
  6. Advisor(s): Mirian Hosseinabadi, Hassan
  7. Abstract:
  8. Less than a decade ago, Test Driven Development (TDD) emerged as a quality assurance approach and applied in agile software developments. In this method, test cases act as software development driver and a new piece of code is added just to satisfy the corresponding test case in the test repository. Although the results of applying TDD show its success in software quality promotion, but the method suffers from some limitations and shortcomings that make its usage hard in complicated and enterprise software projects, particularly in the industry. The goal of the following research is to mitigate the drawbacks of TDD and improve the method in order to make it more applicable for complicated industrial projects. In this regard, we merged Test Driven Development with Model Based Testing (MBT) and Behavior Driven Development (BDD) and suggest a framework named Model Based Test Driven Development (MBTDD) which posses the advantages of all three methods. Similar to the writing of the test case before the programming in TDD method, the modeling of the abstract test case precedes the writing of executable test case in MBTDD approach. Exploiting the advantages of model based and fractal development, MBTDD framework improves TDD in some aspects. Coverage of variant levels of granularity and abstraction, elimination the gap between the requirement extraction and the test case generation, involvement of non-programmers (such as domain experts) in software development cycle, independence of specific platform and the ability of test cases auto-generation are some of the advantages of the improved method.In order to evaluate the suggested framework, we applied it in the development of some parts of a Human Resource Management (HRM) subsystem of an Enterprise Resource Planning (ERP) system. Fault reduction and quality improvement of the software product are the primary results of evaluation. On the other hand, the total effort required to develop the product by the proposed method is increased. However, when we considered the maintenance time of the product in our analysis, the results was different. Because the quality of the product is improved, the required time for software debugging is reduced and so, the overall time and cost of software development cycle is decreased. In addition, the quality promotion of the software product leads to the increment of the end user satisfaction and confidence. Although such results are not directly measurable but they have a key role in the success of a software product
  9. Keywords:
  10. Software Testing ; Software Quality Assurance ; Test Driven Development (TDD) ; Model Based Testing (MBT)

 Digital Object List

 Bookmark

No TOC