Loading...
Test Case Refactoring in Test-Driven Development of Software: A Pattern-Based Approach
Masghadi, Nima | 2015
696
Viewed
- Type of Document: M.Sc. Thesis
- Language: Farsi
- Document No: 48142 (19)
- University: Sharif University of Technology
- Department: Computer Engineering
- Advisor(s): Mirian Hosseinabadi, Hassan
- Abstract:
- Design patterns as successful solutions of recurring problems, have attracted much attention in the field of Software Engineering. These Patterns, which are derived from the principles of Object-Oriented programming, are fine-grained architectures that have significant impact on software quality attributes such as maintainability, scalability, configurability, understandability, and so on. On the other hand, Refactoring as behavior protective method for making changes to software structure, to enhance maintainability and reduce the cost of changes, is now widely used in industry. This structural changes, can be as simple as moving a method or adding a parameter, or as complex as transforming a raw design to the structure of a complex design pattern. The more complext these changes are, the more effect they will have on clients of code, and Test Cases are one of the important clients of code. In this thesis,we discuss the systematic changing of unit tests while refactoring the code by using a pattern. To this purpos, a pattern-based approach named PBTCR is proposed. Using this approach step by step, with each change in code, coressponding changes will be made on unit tests accordingly. In this way, we can maintain coverage and assurance of tests, while we acheive our aims of refactoring. GOF Design Patterns, as the most famous design patterns in Software Engineering, Constitute the baseline of discussions. Also, with examining the impact of Object-Oriented Principles on Testability,we have investigated the Testability of Design Patterns, based on theire allegiance to these Principles. The results of this Thesis show that, OO-Principles, and Design Patterns as their main representations, have positive impacts on Software Testability, and however in some cases they can complicate the design, but in many cases they satisfy the basic needs of Testability, which are : Seperating Implementation from Abstraction, Decreasing Coupling and Increasing Cohesion
- Keywords:
- Test Driven Development (TDD) ; Software Testing ; Design Pattern ; Refactoring
- محتواي کتاب
- view