We are sure you are familiar with Quality Assurance (QA) and that it’s a critical step in your product development flow. In software development, the purpose of QA is to test to ensure the software will function properly. However, defining the best QA process is sometimes an endless challenge. Let’s say you are an experienced QA manager. You may have reached a point in your career where you think your workflow fits your needs perfectly, so you keep testing and building great products across amazing projects. One day, you are assigned a challenging customer that teaches you that your process was not as perfect as you thought.
Does this sound familiar? No worries, we have gone through that as well (and continue to improve our standard best practices all the time, particularly when it comes to Salesforce testing). Our testing process is continuously improved and our team has the capability to adapt its strategy according to each project’s complexity. Let us walk you through our primary testing steps so you understand why our testers and test automation engineers are ready to face customer changes while testing.
Set expectations. We highly recommend considering the first meeting with your customers as the best opportunity to set expectations, build trust and introduce team leaders. The goal is to ensure the team has a good idea of the goal of the project and that both sides agree on basic expectations. Specific to testing, these expectations should include a test plan, UAT process, and definition of done. The QA leaders must be part of this conversation so they can identify weaknesses or inconsistencies in advance. This will help shape SMART requirements that will save a lot of time and resources.
Test plan, the center of our QA process
It’s time to be strategic. After the customers have conveyed their needs, we design a strategy that documents the testing methods that we will need to ensure the functionality of the app. Management skills are needed since the test plan must work with the product development workflow, deadlines, budget, talent, and other resources given for the project. Our QA team takes advantage of this stage to collaborate closely with the development team. If you need more information about test plans, click here.
This is where we really have fun. Finally, the QA team runs the testing methods according to the strategy agreed on in the previous steps. We can group the methods into two groups. Exploratory testing allows our testers to have a quick overview of the software functionality to identify bugs and errors without a large time investment and is quite common among Agile models. Once the app, functionality, or module is stable, we frequently craft and run automated tests with software such as Selenium, Chai, Cucumber, Jenkins, SauceLabs, and more. At Oktana, we generally use TestLodge as the platform for executing tests.
As testing is executed, any findings or bugs must be logged so the development team can fix the issue. Across this reporting procedure, systematization and real-time management are crucial. Unless the customer has specified other platforms, we use Assembla to keep track of every report. We also use Tok, our messaging app, to communicate efficiently between teams.
What’s the key to ensuring we have full functionality? Test it all over again. Yes, after the development team returns a reported bug as fixed, it is important to test again to verify that changes work and haven’t impacted pieces of software that previously worked. In another blog, we will list three of our most useful testing methods you may want to review to ensure high-quality delivery across your products.
Final learning based on our QA process
It’s worth mentioning that none of our best practices are static, they are dynamic and continuously improved. We still strive to make our processes consistent and systematic, but we embrace innovation and the capability to react quickly when presented with new testing scenarios. This is the main learning we can share from years of experience working with customers across different industries – we understand change is part of the process and we are ready for it.