Design for testability
Description:
Thinking of testing components in isolation from the beginning ensures certain testability and supports loose coupled systems with better maintainability.
Links:
None
Keywords:
Test driven development, encapsulation, abstraction, mocking, refactoring
Motivation:
The aim is to avoid complex and nested use of mocking or the need to perform bigger refactorings later on.
Requirements/Prerequisities:
Consider good (object oriented) software engineering priciples (e.g. SOLID)
Level:
Concret: specific best practice (e.g. use microservice)
Application domain:
Medicine/Healthcare, Education (Technology enhanced learning), Data science (analysis & visualisation), Industry (Production), Mobility, Energy, Software engineering
Main phase:
Generic: Design/Plan, Development: Implementation/Code, Development: Testing, Operations: Maintenance/Monitor
Related literature:
Design for Testability in Object-Oriented Systems, Robert V. Binder, 1994, https://dx.doi.org/10.1145/182987.184077
In which projects do/did you use this practice?
Should be applied at any software related project.
Project manager
>10 years of experiences
Software Competence Center Hagenberg
1. How do you rate the potential benefit for your projects? | 0 |
2. How often are you using that practice? | 4 |
3. What is the effort to introduce the practice in your project upfront? | 2 |
4. What is the effort to apply the best practice in your project daily basis? | 3 |
Questions 1, 3 and 4 (1 = Low, 5 = High)
Question 2 (1 = Never, 5 = Always)