T Ashok @ash_thiru on Twitter
In an era where we are obsessed with productivity, it is not about doing more, of being busy that is deemed as high productivity. In fact it is the converse, of being smart, of doing less and accomplishing more.
Software tools help in increasing productivity by allowing us to do faster, better and cheaper. But the most powerful tool “the human intellect” can help us do lesser, coupled with tools of speed, productivity scales geometrically.In these times of AI, it is necessary to exploit HI (Human Intelligence) to do stuff beyond the intelligent machines and deliver higher value. This article outlines 39 tips in thirteen sections to “Do SmartQA”.
“Productivity is a measure of your output divided by your input. Output is measured by the importance of the accomplishment to your goals” says Scott H. Young in his article What’s the Point of Productivity?. He also adds that people obsessed with productivity often neglect the hard-to-quantify-but-ultimately-essential work that goes into achievement, being driven by measurements on short-term output over things that matter, but are harder to measure.
“Working longer hours is not a surefire way to get more stuff done. In fact, consistently working too much invariably leads to a drop in productivity” says Karen Banes in 6 Habits of Insanely Productive People. Similarly, on a different note “Constantly re-running automated tests helps us know that we are still good, but in the same place”.
“Productivity doesn’t mean doing the most, but getting the most from what you have done” says Scott H. Young in another article 7 Habits that Seem Lazy (But Actually Let You Get More Done.
In an era where we are obsessed with productivity, it is not about doing more, of being busy that is deemed as high productivity. In fact it is the converse, of being smart, of doing less and accomplishing more. Software tools help in increasing productivity by allowing us to do faster, better and cheaper. But the most powerful tool “the human intellect” can help us do lesser, coupled with tools of speed, productivity scales geometrically.
In these times of AI, it is necessary to exploit HI (Human Intelligence) to do stuff beyond the intelligent machines and deliver higher value. Here are 39 tips arranged in thirteen sections to “Do SmartQA”.
SEE THE BIG PICTURE, BEFORE YOU JUMP IN TO TEST
Tip #1 : Start with the WHO first, it may be a person or machine.
Tip #2 : See features from product angle, requirements from user angle and flows from business angle.
Tip #3 : Guess attributes that may be expected and then refine.
MAP WHO USES WHAT, TO UNDERSTAND USER NEEDS
Tip #4 : Put yourself into user’s shoes and ask what you need.
Tip #5 : As you map requirements to an user, ask what attributes you expect.
Tip #6 : In an enterprise system there may be many end users, in a personal system, a person may play many roles.
MAP ATTRIBUTES TO ENTITIES, TO IDENTIFY EXPECTATIONS
Tip #7 : If they are clearly spelt out, map it.
Tip #8 : Put yourself in user’s shoes and think of attributes they might expect.
Tip #9 : Look at similar/competitive products to identify attributes.
CREATE ENVIRONMENTS BY COMBINING ELEMENTS & VALUES
Tip #10 : Elements could be OS, browsers, devices, network, DB …
Tip #11 : Values of elements could be version of the same or different types that are similar.
Tip #12 : Create those environments that are largely representative of real life deployments.
LINK RELATED ENTITIES VIA ASSOCIATIONS & COMPOSITIONS
Tip #13 : Think of association as “Both affecting the same data”.
Tip #14 : Think of composition as “output of one is the input to another”.
Tip #15 : Being part of a sequence of activities is also composition.
DO A SIMPLE FOCUSSED PLAN FOR EVERY TEST SESSION
Tip #16 : A plan is ‘what-to-test’, ‘what-to-test-for’ and possibly ‘where-to-test-on’.
Tip #17 : If you want to defer the environment to test on to later, do so.
Tip #18 : Let the list of tasks flow, assign it a session later.
DIVE DEEP TO UNDERSTAND AN ENTITY WELL.
Tip #19 : Describe the entities tersely to understand better.
Tip #20 : Identify conditions that define the functional behaviour.
Tip #20 : Appreciate who uses this, what they expect and interactions with other entities.
RAPIDLY DESIGN SCENARIOS AND REFINE
Tip #21 : It is good to set the objective in terms of acceptance criteria and potential issues.
Tip #22 : Acceptance criteria is what you expect, potential issues are what you don’t expect.
Tip #23 : Combine conditions judiciously so that there is a good mix of +ve & -ve scenarios.
WHILE YOU EXECUTE TESTS, OBSERVE & REFINE
Tip #24 : While executing, lookout for interesting issues to enhance the scenarios.
Tip #25 : Empathise – put yourself in the shoes of end user(s) while executing to enhance scenarios.
Tip #26 : Look for issues, but look out for opportunities for better experience and suggest.
ORGANISE SCENARIOS WELL TO BE EFFECTIVE
Tip #27 : Ensure a good distribution of scenarios across all quality levels & test types.
Tip #28 : Ensure scenarios do cover the various users (personas).
Tip #30 : Create suites to meet a specific business objective.
ANALYSE TEST SCENARIOS, FOR EFFECTIVENESS
Tip #31 : Are there scenarios that test small features and big flows?
Tip #32 : Are there scenarios across all quality levels and test types?
Tip #33 : Is there a good mix of positive and negative scenarios?
ANALYSE EXECUTION PROGRESS CONSTANTLY
Tip #34 : Are we moving forward, evaluating from features to flows?
Tip #35 : Are we moving forward, testing attributes in addition to functionality?
Tip #36 : Are we moving forward, by testing all the entities?
ANALYSE PRODUCT QUALITY AT END OF EVERY SESSION
Tip #37 : Is it functionally stable, be it features, requirements or flows?
Tip #38 : Is it robust too? i.e. negative scenarios run clean.
Tip #39 : Does it meet the expected attributes, in addition to functionality?