Having established what tests can actually be good for, outlined the only two types of test that matter and their value, and having attempted to make the case against a narrow fixation on “unit tests”, where does that leave us?
Well, it leaves us free to think about how we can write good tests that are useful and practical! And the . . .
If you’ve been reading this Fresh Look at Testing series of blog posts, you may have noticed that there is little to no mention of unit tests. So what about unit tests? Unit tests are the most common and frequently discussed kind of tests in software development at large and seem to have the most support among developers. However, you won’t . . .
One aspect of testing that gets fairly confusing is that there are many different kinds of tests discussed in various articles, and the exact difference between those tests is often a matter of debate. A partial list of some of the categories of tests you may have read about includes:
- Unit tests
- Integration tests
- . . .
In response to my last post, I had a few insightful readers ask about various types of testing and if they went beyond the single purpose of confirming expected behaviors.
I also mentioned in the last post that human QA analysts are often able to effect quality in a way that automated tests currently do not, but that such an . . .
The first part of a fresh look at testing
For something that is thought to be precise and unambiguous, the whole subject of software testing tends to be comically unclear. I’ve had a deep interest in the subject of automated testing for iOS for years now, and find that if you ask 3 people what the point of testing is, you’ll probably get a dozen different answers.
For . . .
Last year, I wrote a post about the problems with code coverage as a metric, and left the topic as “to be continued”, saying that I had some ideas for a better approach. Well, it's taken long enough, but here are the first pieces in that objective to evolve a better way to create and measure well-tested software.
What Makes Good . . .
Injecting unique, mutable and persistent property values
Update: The original approach and sample code in this post have been modified slightly — instead of every Injected instance defining its own storage for injected traits, the Injectable struct instead defines global storage for all Injected instances. This is to allow let / constant struct instances to be injected with a stored trait without . . .