Testing Principles 101
I’d like to share my progress on creating the Testing Principle 101. I have felt encouraged by the amount of people who have been willing to share their thoughts and experiences with me. These testing principles would not have been created without all their input. There are a lot of names to name, however, you know who you are. Thank you for sharing your thoughts with me. I will quote a few of them throughout my exploration in this blog. You can see on LinkedIn for the conversation on there.
The first one is James Christie who kindly shared a talk that he did in 2015 about the lack of guiding principles in testing. He has given me permission to share this information with you — here is the Power Point presentation. What I found interesting is that is covers, what even is a principle? There is a slide quoting what it is —
“Things that are true or Things that I believe or Things I must do (code of ethics or conduct, professional guidelines)”
This is where I am finding it difficult to create a set of testing principles because things that are true/believe/must do are seen by different people. Joep Schuurkes shared this blog with me where the manifesto for software testing was written. https://j19sch.github.io/blog/2018/manifesto-for-software-testing/ I expect that if we were all tasked with coming up with some testing principles, then there would be particular themes within them. This is what I’m looking for.
The principles that I have come up with, so far, are the following (along with some constructive feedback from individuals:
1. Our primary goal is to find problems that are going to cause an adverse impact to the business revenue.
Received feedback from Ady Stokes “My only suggestion would be to expand the first one a bit. Maybe by adding, ‘business reputation or customers’. The wording might not be right but impact on the people who use the software should I think be as important as the impact on the business”
I understand this feedback, however, my thought process is that principle 2 covers this. Also, if you don’t have revenue, you may have no business and no customers. Perhaps this thought goes into another principle or I change this principle completely. One to digest.
2. We understand why we are building a product, what we are building and who we are building for.
3. Testing is built upon empathy for our customers, stakeholders and colleagues.
4. We believe testing is an activity of cognitive thought and cannot be replaced by tools.
Edited: Received feedback from Bob Salmon to change it from cognitive thought to either “thought and experience” or “thought and professional instinct. Some great feedback.
Edited: Received feedback from Bob Salmon to add ‘even though it can be helped by them’ at the end of tools. I thought this was a great addition because it does not imply that we are removing the need from tools.
5. Making our testing visible to others is an objective of ours.
6. We continuously learn from what is happening in our production environments, so that we can make informed decisions on how to improve.
This is definitely a draft version at this moment, while I continue to learn from other people who have shared their thoughts with me. These principles are going to be swayed about what I believe, however, I’m doing my best to keep an open mind.