The process of software development involves rigorous testing and quality assurance to ensure that the software meets performance and usability requirements. Moreover, Software Testing and Quality Assurance also play a critical role in identifying the software requirements and have long factored into software development. The primary objective of Software testing is to measure the quality attributes depending on the objective data and thereby infer the information to QA, which assists in implementing changes to the software that leads to better user outcomes.
Roles and Responsibilities
- Executes test cases under varying circumstances
- Documents and evaluates test results
- Detects, logs, and reports program bugs and glitches
- Tracks defects and helps troubleshoot errors
- Reviews test procedures and develops test scripts
- Partners with engineers to drive QA efforts
Let’s listen to Quality Assurance and Software Testing Expert Mr. Ravi Ranjan. He has over 9 years of experience in testing and QA. Together with hands-on experience in Selenium Webdriver, Java, Spring and SQL. He is well versed in performing manual and automation testing as well as working as a Techno-Functional QA. He had worked in various capacities at Accenture, Capgemini and JPMorgan Chase & Co. and currently working as Quality Assurance Engineer at Amazon.
1. Can you tell us more about your journey and why did you choose this field?
Answer: I came to the IT industry from campus placement and honestly I wasn’t given the choice to select, but when I was driven into the QA role, I was in manual testing initially, later on, I learnt the automation skills and framework. From thereon, I tried the build up my knowledge and tried to perform different types of testing like functional testing, deviation testing, and end-to-end testing. When I initially joined the industries, there were not many opportunities for an automation tester and a manual tester. They were just limited to manual testing, writing test series, and building automation frameworks.
But now the industry is changing and there are a lot of opportunities in QA, you can try building your knowledge and go into this field, or grow as a QA lead. Also if you are interested you can go for SFD i.e. software testing development, there are various types of testing you can get, like mobile app testing, security testing, and a lot of things coming. We should not forget technologies related to cloud computing like AI, cloud computing, and AML. So all these things provide very exciting times for a software testing engineer or QA.
2. What is QA functionality testing?
Answer: QA functional tester is just one flavour of the testing field and when we say as a functional tester, it highlights we should start thinking or start testing around the end-user perspective. For example, if you have a product like mobile apps, like an e-commerce app, if you just build the components like logging, selecting, adding a cart and payment, that’s there. The product is there, but what extra mile you are going on to give a better user experience. What are your business requirements, which give the users a very comfortable and hassle-free experience. As a functional tester, you need to think like an end-user perspective driven by your business requirements and make it hassle-free and user-friendly so that it brings business to the organization.
3. What are the various levels of quality assurance?
Answer: There are basically 4 levels of testing we talk about them, they are unit testing, which is basically in which you try to break your product into simple components and try to do the testing around it. Map with a very requirement so that if there are any defects, you bring them out at an early stage, getting them fixed. This ensures your development cycle is smooth.
After that, there is integration testing, where you try to group these components where you try to test the interactions or the communications between different components. If any defect is found related to data interactions between components, you can bring out those.
Then we have the system testing, where we have the overall system of product and at the end, we have the acceptance testing, where you do your testing, and quality assurance which is driven by the end-user perspective.
So these are different levels of testing. Luckily, I have got the experience to work on all these testing. These are very exciting, they may sound boring as we don’t know their inner capacity but I believe for delivering a product, these testing are important.
4. What are the Top Testing Tools in demand in 2022
Answer: Open source always get the upper hand over here when we talk about testing tools. But it may have certain limitations, I feel when we talk about testing tools no. 1 currently is Selenium. Because we have a lot of advantages of it over other tools. Then we have APM, which is for mobile testing and automation framework. Since we see current changes in the world are more related to mobile-based apps, Appium is always in demand.
Then we have tools like RFT i.e. rational functional testing. Then we have UFT from HP, all of these are in demand. I feel like not just limited to automation framework and testing, I think there are other tools which are important from a testing perspective, these are test management tools. Over here I would say ALM, and Jira are very crucial to know for the tester. Apart from part, if you have any role which requires you to maintain pipelines and all those activities, the knowledge of _ is very important over here.
5. Technology industry, on the whole, is seeing several changes that require teams to fasten the delivery of the final product. How do you handle such pressure?
Answer: Offline if these situations occur to anybody, who is in the IT industry and from my personal experience I would say the better test planning from a QA perspective and better strategy if you are able to anticipate the risks and mitigation strategy that you have gives an edge to you under these situations where you have very stringent timelines.
For example, if you have 15 days of the sprint, you should know what are my resources, and what are the risks involved in these 15 days. After that, you need to collaborate with your stakeholders to understand their priority for a particular sprint. Like they may be 10-15 stories, but at the end of the day what are the stories with high priorities, you should focus on delivering them and then Going back to strategy and planning timeline.
6. It is expected that the use of artificial intelligence (AI) will continue to grow in just about every facet of innovative technology. How are software testing teams leveraging AI to improve their automation strategies?
Answer: Next level of technologies coming up are your AI, AML, and Cloud. Like all other things which are there in IT, testing teams are also trying to build their strategies around these AL, AML , cloud. And we can say, for example, UI testing which was done using validations and exertions like using codes, so now there are tools which will just validate the UI against a baseline and would highlight the differences. So the number of codes which a software tester needs to write in his automation framework will get ready. That will save a lot of time and effort along with other opportunities in covering sprint.
So these are some of the tools and of course, there are reporting tools which you can train and assign the status of a particular run based on the past experience that a particular test is having. So definitely, there are a lot of scopes & opportunities coming for a tester in terms of AI, AML, and Cloud. Another example related to the cloud is when you are trying to run your automation, there are technologies which will run remotely and in a real device which is based on the cloud. These are very exciting times in QA.
7. With the agile approach, defects and bugs are detected faster, so test automation makes QA more efficient. Can you tell us more about this?
Answer: Agile in a nutshell is basically where you have continuous integration and also like development testing goals go in parallel. When you follow such kinds of methodologies, it is very easy to detect bugs at a very early stage of development. You can give that feedback to the developers and they will try to fix it. The cycle goes on. The advantage of detecting a bug at an early stage saves a lot of time & effort for development. It’s not a stage where the developer comes to know at a very later stage and they revert for changes or do a rework of it. So it saves a lot of time and effort for the team. So if we follow this methodology, to deliver a very good product, it saves a lot of time overall.
8. What is Unified Functional Testing?
Answer: Unifies Functional testing is more related to in terms of a tool which was initially developed by a mercury interactive and later on took over by HP. Which is now maintained by Micro focal, which is a child company of HP. So what QTP does is very handy while trying to run automation regression and detecting bugs for web client-based applications. And one of the greatest advantages of UFT is like vote which we get from HP and plugins which are there for different types of testing, so that is a big advantage. So someone, who has a knowledge of QTP OR UFT has great demand in the market.
9. What are the skills required to be successful in this field?
Answer: To be successful in the software domain is like, the first thing you need to be is adaptable. Adaptability is the greatest skill I would say because technology is changing always, so you need to get adapted to new technologies and learn new skills. One thing which I follow is one day one skill. Each day you try to learn a new skill, it can be very small, even doing a small drag and drop in excel in a different way. If you try to do that, you can achieve or get success in your respective field.
Apart from that for testing, there are a lot of things, but for a complete package, I would say there are manual testing skills, like how you can develop a test case, and how you can develop your scenarios. From the automation side, you need to somewhat knowledge of Java is a must for the tester. So that he can work for automation tools, and test management tools, which would be a complete package as a tester.
10. What advice would you like to give freshers?
Answer: I would say joining a software testing field, there are very exciting things that are coming up. If you are adaptive and open to learning the skills that are there in IT in testing. Even if you are there in manual testing, I would say there are a lot of things that it offers. There are certain limitations to automation, that’s where the manual things come in handy. And if you are in the automation field, I would say there are a lot of tools available like AI, Cloud computing and related testing tools. Just keep an open mind and have a will to learn new things and I am sure you would do wonders in the industry.