What’s been interesting in the testing world — at least the part of it that I hang out in — is the application of different AI-based learning algorithms to the act of exploring an application and seeing what (if anything) that tells us regarding the algorithmic and non-algorithmic parts of the testing discipline. Let’s talk about this because I think is fertile ground for testers to be exploring.
The question periodically comes up as to what the difference is between “Quality Assurance” and “Testing.” And a disturbingly large number of test professionals will say that “Testing is a subset of quality assurance.” This is a terrible response. Let’s talk about that.
This post continues on from part 2. If you’ve gone through the prior posts in this series, you have a fully functioning package. Now we’ll distribute that package.
Continuing on from part 1, we now have a nice little package that we wrote. Let’s refine this package to be a little more in line with Python practices, add some tests (well, a test), and provide some console execution.
It’s been awhile since I tackled anything too traditionally “technical.” Lately I’ve encountered many testers who are interested in using Python as their ecosystem of choice for test solutions, particularly in data science or machine learning environments. So here I’ll talk about being a test solution developer in a Python context and what it means to create solutions in this ecosystem.
Here’s an idea that I think can be interesting in terms of how you view testing (as an activity) and tests (as an artifact).
A lot of people writing about testing draw the correlation between testing and experimenting. You’ll often hear something like “testing is evaluation through experimentation.” But, as advice to testers, this falls far short of helpful if the notion of what being a good experimenter entails is not covered. So let’s talk about that.
In his book The Black Swan, Nassim Taleb talks about “Platonicity,” which is defined as the desire to cut reality into crisp shapes. This is a form of dividing up a large domain into a smaller domain. This, by definition, means establishing certain boundaries. This is a key part of how people experiment and thus of how they model … and thus of how they ultimately explain things. So let’s talk about what this has to do with testing.
In my post on porting development lessons to testing I mentioned getting into the ideas of what makes the testing role something uniquely distinct from that of the development role. So let’s talk about this.
There’s often talk about how developers should think more like testers. But there’s often not as much discussion about the corollary: testers learning to think more like developers. So let’s talk about this.