Over the past few years, software testing and quality assurance has grown critically important for companies and has also established itself as a formidable career choice. Now, stay with me here...do you remember your first job? The time where you didn’t have any professional experience and were hired on the basis of their faith in you. You were in a position where you needed to prove why you were the person for the job - it's pretty similar to a career; at each and every stage you must prove your value.
Whether you are a developer, designer, automation tester or any other professional, life is all about proving your worth. On that note, a renowned computer scientist and testing expert, Jerry (Gerald) Weinberg, says "If you are not learning something new each day, you are not testing." I completely agree with this statement because with the advancement of agile and DevOps methodologies, development has become accelerated, making testing a critical activity. Therefore, testers are under daily pressure to do an accurate job. Chasing new trends turns out to be an inevitable task.
Right from requirements to asking more questions, to comprehending product information and communicating with the clients, a software tester has to keep multitasking in order to remain competitive and relevant.
Since the emergence of testing as a concept, several changes have been made in terms of quality parameters. In fact, more and more weight seems to be given to non-functional parameters such as performance and security. In simple words, the skill set of a tester requires evolving. And, I must say, it’s high time for the testers to add automation to their repertoire as manual testing alone is not going to be enough. A few years ago, there was a lot of impetus being given to UI tests as UI was the primary candidate for automation, alongside regression tests. Despite this fact, testing can be ubiquitous as the tests and code written for automation are, typically, written manually.
Basic Skills required:
• Having a testing mindset
• Understanding and mitigating risk
• Being smart and possessing effective work methodologies
• Optimize where possible
• Evolve in learning and understanding
• Ability/willingness/freedom to experiment and learn from what works well, or not
• Collaborate with all relevant roles for deeper and shared understanding
Apart from this….
DevOps & continuous delivery: the focus is to move very quickly to DevOps. With continuous integration (CI) and continuous delivery (CD), it becomes absolutely impossible without continuous testing (CT). Yet, the fastest, (or only) way to achieve CT is through test automation.
Today, with fast-moving delivery and release life-cycles, manual testing does not provide much value. Which means we need to focus on a healthy combination of exploratory testing and test automation (of all applicable types) to be effective as a team to build a good quality product. Any kind of test which needs to be re-executed over a certain period of time needs to be automated at an appropriate level in test automation.
Normally, test automation involves writing code that features accurate knowledge of one or more programming languages. This can be a scary premise to some IT professionals. It’s basically a misconception in the testing world that testers normally do not have access to the code and are more often than not involved in black box testing. Which means there is no need to actually learn the testing program.
Few Points to Consider:
- Understand/ read the code and make sense out of the same (logic)
- Learn more about automated tests to know what “intents” have been automated- by doing this, wastes are reduced by having to repeat the same intent- validations manually
- Do effective gap-analysis, this needs to be done on what has already been automated
- Contribute to enhancing automated test suite (unit/integration, API, UI/end-2-end /performance/security/etc.)
- Contribute to building a more testable and functional architecture
About the Author: Vikash Kumar is a Manager at Tatvasoft Australia, a Software development and Enterprise level Mobile application Development Company. Apart from his profession, he also has a passion of blogging and regularly share his insights on various topics including software development.