Design for testability
Thinking of testing components in isolation from the beginning ensures certain testability and supports loose coupled systems with better maintainability.
Test driven development, encapsulation, abstraction, mocking, refactoring
The aim is to avoid complex and nested use of mocking or the need to perform bigger refactorings later on.
Consider good (object oriented) software engineering priciples (e.g. SOLID)
Concret: specific best practice (e.g. use microservice)
Medicine/Healthcare, Education (Technology enhanced learning), Data science (analysis & visualisation), Industry (Production), Mobility, Energy, Software engineering
Generic: Design/Plan, Development: Implementation/Code, Development: Testing, Operations: Maintenance/Monitor
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.
>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)