This post marks the launch of our very first blog series! Our commitment to bringing Webonise closer to you inspired us to write the “Inside Webonise” series. The series will feature the ins and outs of the processes involved in product completion, as well as some of our toughest challenges, the tools we are using and, most importantly, how we are using them.
In this inaugural piece we talked to Software Test Engineer, Abhijeet Thalkari and Senior QA Executive, Nitin Thite, who shared the process of software testing, from the inside.
“It takes smart thinking to deliver quality.”
How to Approach QA?
Webonise follows the agile scrum methodology; a very flexible and holistic kind of project management or product development strategy where teams works as one unit with a common goal in mind. QA Engineers are involved in each phase of quality assurance, which includes the following:
- Requirement analysis and Acceptance Tests Specification.
- Acceptance Criteria (AC) by QA - "What is needed to COMPLETE the requirement?"
- Testing, Re-testing, Regression testing - Functional and non-functional testing (Manual and Automation)
Regression is too important to be performed manually on large systems. To help increase confidence over the system, performing functional and non-functional testing is vital, hence, the need for automation acceleration.
- Bug Tracking and reporting
- Retrospective and Sprint Planning (To ensure goal is achieved)
- Frequent internal User Acceptance Testing (UAT)
The life of a product, end to end: What steps are involved in proper quality assurance?
As soon as the QA team receives a project/software/app, it goes through the following steps:
- Preparation of Acceptance Criteria for sprint
- Development of stories considering the above mentioned Acceptance Criteria
- Unit testing to be completed before passing the story to QA for testing.
- QA to test according to acceptance criteria mentioned and re-tests bugs fixes considering priority and severity as well as exploratory testing.
- Writing automation scripts for the functionalities as per automation test plan.
- Sprint “QA Sign Off” for tests performed and known bugs.
- Frequent User Acceptance Testing performed by other QA members.
- Perform stress, load, compatibility testing frequently to improve the performance of the application and to handle expected amount of traffic.
- Automation suite is to run for regression testing.
How do you ensure a quality QA process?
Early involvement of QA in the project – When QA is involved early in the cycle; there is better coordination within the team. What happens if development proceeds with stories and description alone? Cases will be missed and bugs will be discovered later on.
In-depth questioning - The more you question, the more you understand the functionality and application. Before starting acceptance criteria writing or testing, we should have a complete understanding of the application, which can only be achieved by exploring the project/software deeper through further questioning.
Planned test activities (Functional and non functional) – The benefits of planning also applies to testing! If the testing activity is planned properly, then the established process will remain consistent with the added benefit of minimizing the possibility of the application crashing while in use.
What are the tools you use in QA?
There are different tools we use for different purposes:
1. Project Management and Issue Tracking - Jira
3. Performance Testing - Jmeter and Siege
What are the advantages of using such tools? Disadvantages?
The list of the advantages and disadvantages, of the mentioned tools, can be lengthy. We’ve prepared a table to better illustrate it.
Bottom line, when less coding knowledge is required, QA can concentrate on Manual tests and later automation regression.
How about frameworks?
Selenium Web-Driver, has been a very useful tool. It easily became the staple for large web systems with cross-browser and OS in scope. It is also very easy to automate.
Sahi OS on the other hand, has an easy to automate record and play-back feature, minimal script maintenance time, less programming knowledge, OS and Browser Independent and parallel execution features.
We have been successful in developing keyword driven, Excel frameworks with both of the discussed tools.
How is the QA process developing internally?
Experiments are endless and there is a lot to come from LAB!
We are looking forward to increasing the user-base for these freely available choices. Our mission is to encourage people to use these tools as well.
Additional Reads by Abhijeet Thalkari, QA Engineer at Webonise Lab:
Where do you get motivation to work in quality assurance?
It is being very aware of the responsibility that comes with developing a product that can be used to solve a problem or provide a needed service for the end user. This is the goal we have in mind for building any system.
As we mentioned earlier, this will be the first of the many posts for our “Inside Webonise” series! We’re writing for you! Let us know what you want to see from our blog. We are very open for comments, suggestions, feedback or a coffee invite!