Relate to the end user of what works for them not the other way when testing Desktop and Devices

By Tufail Khan
Wednesday, 10 December, 2014

Relate to the end user of what works for them not the other way when testing Desktop and Devices

Throughout my 10 year career I have worked as a manual tester in various domains and, during my time at QAWorks, I have been exposed to a lot of mobile testing. What I found is that a good tester needs to think like the end user and get into that frame of mind. This will allow for the tester to work through the application and identify every last possible bug or defect that could affect the end user's experience.

When talking to people outside of the manual testing circle about what I do they are of the impression that it takes longer and more effort is required when compared to automation testing. But manual testing is more widespread in mobile testing than you might think.

I feel mobile requires manual testing because field testing is required. Therefore, mobile devices need be tested anywhere and everywhere the user will use them. This has proven essential for cases that are not practical to automate. A good example of can't or shouldn't be automated e.g. interoperability testing (NFC, Bluetooth) comes when manual testers need to replicate a real user's physical interactions with the device. This is where manual testing provides a solid foundation where automation would be unsuccessful.

The list below are areas where I feel manual testing is vital and essential.

  1. A new product still undergoing significant change, in its early release, or continuously being updated with enhancements. The cost of an automation test suite being up to date could outweigh its benefits. The application must be stable before any investment is made in developing an automated regression test pack.
  2. Usability and human experience. There is no way of automating usability or human experience. This requires the tester to look at the overall picture, i.e. will the user enjoy the experience of using this application/site?
  3. Tacit Test Procedures. This is where the tester knows what tests need to be run, but these are not written down, e.g.
    • '£' can sometimes cause problems in text.
    • Invalid dates should cause a country specific error message.
    • Some people limit their perception of validation, so the surname field should allow dashes and single quote symbols as surnames will have these.
  4. Thinking laterally about all the functional areas of the software that is to be tested is a big part of manual testing. A good example would be input fields and finding all the possible ways of breaking them. I have yet to find a computer that can think for itself.

After working for many years in the testing industry, I've learnt that people will use mobile sites in the strangest ways possible, even in ways that I would never have fathomed. That's why to be a great manual tester you need to adopt the mindset of different types of people. You are testing to ensure that you have covered as many situations as possible. You need to test it as if you were a novice user, an expert user, a non-English speaker...

For me, I like to be in control of what I'm testing. This is why I prefer manual testing as you develop a greater understanding and appreciation of the system the more you test it. This helps build a solid foundation and platform for your next assignment, allowing you to base your test on past experience and therefore educating you further. Although we can automate most of our testing, there are some defects that will only be found through manual testing, and therefore, it will always have a place in every project.

* Comments subject to moderation