This post follows on from the first and second posts. Here we’ll continue the theme of our Pokémon data, this time working at getting some more specific answers to our running question in this series: “Which is the best Pokémon character?”
Testers and Data Science, Part 2
This post follows on from the first. Here we’ll focus on the skill of interpreting our Pokémon data so you trust the data enough to make decisions based on it. This is fairly important if you are a tester working in any context wherein actions against data will be presented to you or where you have take those actions yourselves as part of the testing.
Testers and Data Science, Part 1
I’ve talked a bit about testers and AI as well as testers and machine learning. Here I want to focus a bit on one area that can be a basis for both of those areas: data science. As a tester, you don’t need to be a data scientist. But it certainly doesn’t hurt to have a grounding in what data scientists do. Here we’ll do some exploratory computing with Jupyter; we’ll use some numerical and visualization libraries and we’ll explore the (fascinating?) world of Pokémon data. So let’s take a few posts to dig into this.
Testers and the Bug Hunting Focus
What do people tend to think of when they hear “tester”? More specifically, what do they think a person called “tester” primarily does? Arguably, more often than not, you’re going to hear something like “a tester’s role is to find bugs” or “a tester helps surface issues.” As an approximation, that may be accurate. But it’s only a very rough approximation. And a dangerous one. So let’s talk about this.
Revisiting Testing vs Checking
As part of my attempt to continue my thinking on the topic of “tests” and “checks”, I’m revisiting what I talked about previously. I want to see if my thinking has changed and I want to set myself up for being willing to change my opinion. I don’t want to be one of the fundamentalists I wrote about. So let’s take another trip down the rabbit hole.
The Prevalence of Parallax
I believe there’s an interesting parallax effect that happens in conversations around testing and the implementation of testing ideas. This is an area I want to investigate a bit more so I’ll start off as I usually do: with my half-formed ideas as the basis for discussion, elaboration and possible refutation.
If You’re Human, You Test …
… but you may not be a tester. Or at least not a specialist tester. Here I’ll close out 2017 on this topic which will indicate some of my future direction in 2018.
Modeling Testing
Dan Ashby recently posted his views regarding a model for test strategies and heuristics. I really like the level of effort put into it, particularly because it was clearly distilled not just from thought but thought based on experience. Let’s talk about this.
Wherefore the Death of “Manual Testing”
I see so many people lately talking about the “death of manual testing.” Opinions obviously polarize on this but what I don’t see is testers engaging at all with why this perception is there. There is a form of indoctrination that happens across the industry. And testers, by and large, do nothing to combat it. Largely because they ignore where it’s coming from. Let’s talk about this a bit.
The Tester Role in Machine Learning, Part 4
This is the last of a four part series (see parts 1, 2 and 3). The goal has been investigating whether specialist testers have a role in machine learning environments uniquely distinct from development roles in those same environments. These posts have been getting you up to speed on what that might look like. Here we finish off that journey.
Continue reading The Tester Role in Machine Learning, Part 4
The Tester Role in Machine Learning, Part 3
This post continues on directly from the first and second parts. I covered a lot of material in those posts so I can’t easily recap it here so definitely read those before reading this one. Here we’ll dig more into how a tester actually tests in this context but also look at testing as a framing activity.
Continue reading The Tester Role in Machine Learning, Part 3
The Tester Role in Machine Learning, Part 2
This post continues on directly from the first one in the series. We’ll take the CartPole example we started with and continue our journey into how testing — particularly that done by a specialist tester — intersects with the domains of data science and machine learning.
Continue reading The Tester Role in Machine Learning, Part 2
The Tester Role in Machine Learning, Part 1
As a tester are you ready to work in environments that are based in or around data science and machine learning? What will you actually do in these environments? How will you interact with developers? How technical do you have to be? Is it all just automated testing? Or do we still have room for a human in there somewhere? Let’s dig into this a little bit by going through a scenario.
Continue reading The Tester Role in Machine Learning, Part 1
The Architecture of a Micro-Framework
In a series of posts, I’ve talked about my Tapestry micro-framework and I tried to provide some of the rationale for its design choices. Providing that rationale meant providing a context for you to see it in action. This post will cap off the previous posts by digging into the code of Tapestry a bit and showing you how it works. I hope this is more relevant given that you’ve now seen it in action.
Micro-Framework Context Patterns
In the previous post I talked about communication patterns in terms of the micro-framework and tests. Here I’ll talk about the expressiveness of the tests themselves, showing how Tapestry supports the idea of a context.
Micro-Framework Communication Patterns
In my last post on micro-frameworks, I got into the organizing principles of my Tapestry solution, by which the framework provides or supports a mechanism for the encapslation of and delegation to logic. Here I’m going to continue on that theme but with a focus on showing how the framework calls into the tests, rather than the reverse, and why I think this is a good design approach.
Organizing Principles for Micro-Frameworks
This is a continuation of my exploration into providing insight into micro-framework creation for automation, using my own Tapestry tool by way of example. The first post set the context and the second post focused on exposing an API. Here we’ll dig into exposing the organizing principle.
The API of a Micro-Framework
Here I’ll continue on with the introduction of my Tapestry micro-framework that I started in the first post. This time I’ll focus on a bit on how you want to create an API interface for your micro-framework.
Writing Automation Micro-Frameworks
Here I want to talk a little about test automation framework construction. Or, rather, micro-framework construction. I will use my own tool, called Tapestry, for this purpose. Tapestry is written in Ruby but what I talk about is potentially transferrable to your language of choice.
Testing and Machine Learning, Part 2
This post continues on from the first part where I went over the high-level details of a tester getting involved in a machine learning context. I left off just at the point of introducing the algorithm and letting us get to work. So here, in this post, we’re going to dig right in.