Automatized framework development for Test Driven Development (TDD)
Process automatization and continuous and early testing accelerates software development significantly. Because of that, it became the most supported way of development in software engineering.
Objective: Develop an automated framework to support the practice of Test Driven Development (TDD).
- Explore the principles and benefits of TDD in software development.
- Design and implement a framework that facilitates automated testing and supports the TDD workflow for various different projects.
- Utilize programming languages and frameworks suitable for building test automation tools, such as Python.
- Develop modules or libraries that enable developers to write and execute tests easily within the TDD cycle. The final aim would be to make a flexible framework that can support projects that using different software development methods/tools/programming languages, like: C/C++, Matlab, Python. For that provide support for various software development paradigms (e.g., object-oriented, functional) and different application domains.
- Incorporate continuous integration and continuous deployment (CI/CD) practices into the framework to enable seamless integration with development workflows.
- Ensure the framework's usability, scalability, and extensibility to accommodate different project sizes and complexities.
- Collaborate with software developers to gather requirements and gather feedback for iterative framework enhancements.
- Document the framework's architecture, usage guidelines, and best practices to facilitate adoption and knowledge sharing.
- Gain practical experience in software testing, agile methodologies, and test automation while contributing to the advancement of TDD practices.