top of page

Lessons learned (the hard way) in software testing

  • Writer: khyati sehgal
    khyati sehgal
  • Jul 18, 2016
  • 2 min read

What we speak is what we have learned. There are some very basic simple rules which we can follow as we grow as a Quality Analyst. In this post, I will share a little of my experience.

Don’t try to test everything, or even close to everything.

You really have to factor in a lot of time for test case maintenance, even if your tests are well-written. Even it looks small, never underestimate, take time, and think of scenarios that are hidden beneath. Some cases could be unrelated some can be deferred but yes think and overthink, both in a constructive and destructive way.

Don't try to test everything, or even close to everything.

Keep tests as small as possible

Test one thing at a time. On the same note, do not try to iterate over all data, unless you are trying to ascertain which cases to cover. It will just cost you test-execution time, and again test case maintenance. Eventually, you will either cut down the test iterations, or you will give up and rewrite it.

Keep tests as small as possible

Businessman with hands behind head, sitting next to a stack of documents on the desk


Separate your positive and negative tests

Reading long-winded if/else branches or crazy, unnecessary loops when you’re already annoyed at a failing test just makes it worse. Do not couple things that really should not have an impact on each other. For instance, do not repeat search tests while logged in and logged out, unless you have a good reason. The same goes for user types: while it is seemingly noble to try to cover different user types, do not test everything again with those. Just the cases where functionality differs safeguard your tests against slow, problematic staging servers, but do not go so far as to mask problems with large timeout values.


Fail early in your tests

If you have a problem early on, assert as soon as possible, with useful error messages; don’t keep executing a bunch of tests that will just fail spectacularly.

fail_early

Keep a track of all the things

Never miss any logs coming from the server or on the console. Be it browser log, always keep an eye on what you have observed, how it happened, and consequences.

Deadlines

With work, always comes a deadline which is a means to achieve the target. I believe work, quality, and timelines always go hand in hand. So keep a deadline of your own which should be not less than a day before the actual deadline.

deadlines

Keep a note of your learning

One should always check his/her own growth. By each passing day track your own learning. Write it somewhere, check related posts, try to understand the requirements more deeply, and read/ask more about it.

Grow according to your own passion

On the job learning is the best learning, one should always go in the direction of passion. What you want to learn, work on, that all are the factors that help you in growth. just follow yourself.

growth_passion_hand_in_hand

QA job is the most innovative job, wherein you can learn anything be it development(coding), DevOps(Continuous development), BA(Business analyst), proxy PO(Product Owner), End-user, etc. So you shall be dynamic as well as alert and learning should never stop. And I tried to list down some point which can help you in learning and growing with pace.

Hope you like it!

Recent Posts

See All

Comentários


bottom of page