I’ve started up a GitHub public repo to help demonstrate ways to use code-based testing to go beyond “Unit”.
There is no shortage of discussion of adding or adding more “automation” to our solution and software development processes.
However, many seem to still be somewhat stuck thinking that test or QA automation is something outside of the software development process.
I’ve never liked the Dev -> QA handoff, I typically dislike hand-offs of any kind. When “agile” came around I immediately identified with it and when “DevOps” was labeled, it even better embodied the culture and practices I love.
To me a developer or software engineer should have the skills to take an idea, develop the solution and provide it to users. That means every developer should know how to not just write ‘code’ but ensure that code works, and stand behind that work. Don’t pass the responsibility to ensure quality in your work to someone else.
You’re a developer, write code to test your code!
I will though, say this does not eliminate the role of humans in testing, it should remove humans from repetitive testing that a computer can do without fail, at anytime. Use humans where humans are best, testing products for Quality in only ways humans can.