Live data from Hacker News

Ask HN: Resources for learning manual software testing?

news.ycombinator.com

21–30 of 46 posts

Re: Ask HN: Resources for learning manual software testing?

#21

Hmmm. I think you're looking at this the wrong way: it is not he who should be learning more about manual testing, it is you who needs to learn about how to write manual tests. Manual testing is not at all that different from, say, integration testing: you write a specification of a task that needs to be performed, you write down the expected output, and you compare it with the actual output. What you end up with is…

What you are describing is exactly the type of test that should be automated.

Manual testing should be exploratory, it shouldn't be following a script. Computers are there to follow scripts.

Re: Ask HN: Resources for learning manual software testing?

#22

Hmmm. I think you're looking at this the wrong way: it is not he who should be learning more about manual testing, it is you who needs to learn about how to write manual tests. Manual testing is not at all that different from, say, integration testing: you write a specification of a task that needs to be performed, you write down the expected output, and you compare it with the actual output. What you end up with is…

What you are describing is exactly the type of test that should be automated. Manual testing should be exploratory, it shouldn't be following a script. Computers are there to follow scripts.

That's a very good point, I hadn't looked at it like that!

Re: Ask HN: Resources for learning manual software testing?

#23
First and foremost one has to know the domain, what are the things that tend to go wrong. And this is platform specific knowledge.

I mean, you're testing a web app? Disable JavaScript in the browser.

Testing an Android app? Rotate the phone to change screen orientation, especially when there's a background operation going on - that's a typical spot for bugs, but no amount of general manual testing know-how will tell you that. And so on

Re: Ask HN: Resources for learning manual software testing?

#25

"Explore It" by Elisabeth Hendrickson [1] is a short, easy-to-read introduction to exploratory testing ("manual testing") that has many concrete ideas for what and how to test SW. [1] http://www.amazon.com/Explore-Increase-Confidence-Explorator...

Related is the "Test Heuristics Cheat Sheet" [1] that she and others put together.

[1] http://testobsessed.com/wp-content/uploads/2011/04/testheuri...

Re: Ask HN: Resources for learning manual software testing?

#27

I agree that it's largely a mindset. From https://twitter.com/sempf/status/514473420277694465 : "QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers. Orders a sfdeljknesv."

Don't forget, he came in on February 29th.

Re: Ask HN: Resources for learning manual software testing?

#28
Regardless of what else you read, try this one technique for manual testing. You're probably interested in getting more serious about testing because of a couple of major defects that you have seen in the software after your last release. Create a test plan document that walks through the procedure of verifying those defects are not present in the software. On each release, add to the test plan to make sure new features you've added work properly. As you work on the product, the test plan will grow. But it won't grow as much as you might expect, because often several new features can be tested just by making a couple of edits to the test plan.

The goal of testing is to prevent defects from surfacing in production. So track every defect that surfaces in production, so that you can watch that go to zero over time.

Whenever a defect comes up in production, edit the test plan such that you would have caught that defect. Now you won't be bitten by that class of defect in production again.

If you keep updating the test plan in this way you will see a dramatic drop in defects released to production. Once you've done this for a while, you will probably discover that your biggest source of defects released into production have to do with how different your test environment is from your production environment. So you will then start attacking that issue by setting up a proper staging environment, where the staging environment mirrors production as closely as practical.

Then you will start to discover that your biggest source of defects released into production becomes other things, such as little problems with your release methodology, which you can then address.

But the key concept here is: document what your test plan is, and continuously improve it. It's important to note that you must actually follow the documented procedure for this to work. If you write a document so big that you won't actually do it, you're doing it wrong, make a smaller document. If you feel like you only need to do 2 minutes worth of resting, document what you will do during those 2 minutes. You can start with an empty test plan and that will work, as long as you continuously improve your test plan. The same goes for the procedures that you use to deploy. Always follow the same procedure exactly as documented, because you will need to improve that procedure.

I have followed these procedures at a number of companies and in a variety of environments, and seen it turn chaotic messes around many times.

Once you have this process down solid, you can automate some or all of it. But the important thing is the overall set of processes around testing and deploying software, and the process for improving those processes. How much of it is automatic versus manual matters a lot less.

As for resources, I'd recommend books on continuous improvement. Because as you get better at testing, you'll discover that General process improvement is what you really need in order to cover the range of things that cause defects in production.

Re: Ask HN: Resources for learning manual software testing?

#29
While other commenters are correct that manual QA is a mindset, there are readings that can help develop that mindset.

I have new QA engineers read the first five or six chapters of "Testing Computer Software":

http://www.amazon.com/Testing-Computer-Software-2nd-Edition/...

to get a feel for the mindset and methodologies and to help them understand what testing can and can't accomplish.

"Lessons Learned in Software Testing", mentioned by another commenter, is another good resource. Lots of good anecdotes:

http://www.amazon.com/Lessons-Learned-Software-Testing-Conte...

Both are a bit dated in some ways ("Testing" has a section on filing paper bug reports), but the lessons and thinking are still highly relevant.

Post reply on HN