In last week’s post, I wrote about how it is important for software testers to code like a developer. But there is a second half of the sentence “Code like a developer…”, and that is that software testers should be TESTING.
I’m not a stickler for using the right word for testing-related concepts, which is why I use the term “test automation”. But automated testing is really automated checking. Automated tests serve a very valuable purpose in that they can run regression checks at any hour of any day, without human intervention. But they do not actually test the software.
A sad casualty of the very important move towards test automation is the QA Engineer. Many large software companies don’t employ QA Engineers any more, feeling sure that Software Developers in Test are all that’s needed to validate the quality of their software. And many Software Developers in Test focus solely on the automation, working from acceptance criteria in development stories and looking at the code rather than manually interacting with the software. How is that trend working out for end users?
Just this week, I experienced the following: I received a (legitimate) email that I had some money to accept from PayPal. The email contained a button to click that said “Accept the Money”. When I clicked it, I got a message that said “The previous page is sending you to an invalid URL.”
Last week when I was using a mobile app, a screen that I needed stayed permanently blank. And in a post I wrote two weeks ago, I mentioned that while I was writing, Blogger had a page load error when I tried to add an image.
Three weeks, three major companies, three bugs. This is what comes from not employing people who think and act like testers.
It’s true that the whole software development team owns quality, and that quality is everyone’s responsibility. And there are also non-QA people who care deeply about certain areas of an application:
- Developers write unit tests to check the quality of their code
- Product Owners care about whether the feature does what it’s supposed to
- UX Designers care about whether the user journey is intuitive
- Security testers check the software for vulnerabilities
- Performance engineers care about the response time the application
But only QA Engineers care so much about the quality of the application that they’ll do things like:
- Type ~!@#$%^&*()-=_+{}|[]:”;'<>?,./ into every text field to test for invalid character handling
- Try to purchase -1, 99999999999, 1.3415, and foo of something
- Enter a birth year of 3019 to see what happens
- Click every button twice to check for multiple submissions
- Click the forward and back button on every single page of a website
- Test 48 different permutations of feature sets to be as thorough as possible
- Create dozens of test users with many varieties of security settings, to have scenarios ready for testing at a moment’s notice
- Become an expert on a particular feature and provide documentation and assistance to other testers
- Test the same thing in the QA environment, the Staging environment, the Demo environment, and the Production environment to make absolutely sure that the feature is working everywhere
- Test every feature on every supported browser and every supported mobile device
This is why we need software testers who TEST. We need people who will continually ask themselves “How could we break this?”, “What haven’t we tested yet?”, and “What features will be used with this?”. We need software testers who don’t rush into writing automation without first interacting with a feature. We need software testers who remember that the goal of all their efforts is to have a user who has a positive, bug-free experience.
Well written.
Very ablazing post
so informative
Thank you, Prashant! 🙂
Thank you Rohit! 🙂
I once encountered a major supermarket in-store customer service terminal that was so badly designed and counter-intuitive in its use that I wrote to the company's CEO to point out its faults, tell them that it was clear that no human being had ever looked at it in the development phase (because the code all worked perfectly but the workflow was complete rubbish), and that my usual charge for such a report would be £250 but how about some discount vouchers which I was trying to get printed out in the first place when I went to use the terminal!
The reply I got was "We're replacing it with a phone app early next year", which didn't exactly fill me with confidence.
Deep insight to the life of QA engineers.. In my view the problem arises when the expectations are set differently with different stake holders
I'm not sure whether to laugh or cry at this, so I'll merely applaud!!
🙂
That's an interesting thought; can you elaborate?
The great information that you shared. It will help all of them. Thanks for posting. Keep maintain the updates
Data Extraction Solutions|
Ecommerce website builder|
Magento ecommerce development companies|
Worth reading. Thank you.
🙂
Not sure I agree with your definition here about QA Engineer. For me QA Engineer is a role that focus on defects prevention. A QA engineer can be also a Tester but I would not take your examples as only QA Engineer can think about them. In fact I see your examples as a fine choice of additional tests that a senior tester (not necessary QA) can define and use them.
Angelos, I agree that senior testers, and other roles, can think about these test types as well. The main point of my article was to stress that software testers, regardless of what they are called (SDETs, Automation Engineers, QAs), should all be thinking about their product rather than jumping straight to automation.
Hii
I read this blog, it is very good article and great information.
Thanks,
Ideal Taster
IDEAL Tools, Supplies and Tester
IDEAL Network cable Tester
IDEAL WIRE CONNECTOR
I really enjoyed your blog Thanks for sharing such an informative post.
https://www.login4ites.com/
https://myseokhazana.com/
Web Designer in Noida
Best Website Development service In Noida
Website Designing service In Noida
Best digital marketing service In Noida
Best digital marketing Company in Noida
Indian Bookmarking list
Indian Bookmarking list
India Classified Submission List
Indian Classified List
Today is the first day i have visited your Blog. And i feel Guilty about myself that why i haven't visted your Blog Earlier.
This ARTICLE is simply Wow,Amazing and Awesome.
The way of your thinking is very-very Awesome.
Thanks For the article.
Please Share as much as Article in the Coming Days.!
Thanking You!
Thank you, Anwar!!
I have scrutinized your blog its engaging and imperative. I like your blog.
custom application development services
Software development company
software application development company
offshore software development company
custom software development company
Wow 🙂
This is an incredible collection of ideas!
Waiting for more helpful pieces.
You would amazing to read a similar one here-
besttoolsbrand
Thank you so much for sharing such an awesome blog…
Drupal Maintenance and support services in India
iot services company in India
iot development company
QA Testing Company in India
Node SDK services company in India
angularjs development and maintenance services company
angularjs development and maintenance services company in India
react js development and maintenance services company in hyd