Archive for month

November, 2021

Revolutionizing Quality Assurance Through Continuous Testing

Building an application, testing it, fixing the issues, then putting it out in the market or delivering to the customer, getting paid, and walking away may have worked at the beginning of the digital era. But that is not the reality today.

Even if you build something outstanding today, somebody might and WILL do the same much better tomorrow. Modern users know what superior functionality and user experience are like, and they will not settle for anything lesser. The volatile nature of today’s market and increasing user expectations demand a constant reinvention of products and services quickly from every digital organization.

Perpetually building and rebuilding codes and gearing them up for quick releases have made QA an indispensable part of every development team and mandate a superior QA strategy.

What is Continuous Testing?

The new and superior QA strategy is known as Continuous Testing. Continuous testing involves testing, discovering, and fixing issues early in the development cycle to prevent risks and reduce deployment times.

Contrary to popular beliefs, being quality conscious from the beginning of the development does NOT reduce the workload and increases the scope of work for the quality assurance team. To keep up with the huge workload and ensure quality as an integral part of the development from day 1, QA engineers have started wearing multiple feathers in their caps as SDETs.

With almost all development teams being agile, QA teams use a mix of automation and manual testing in their Continuous Testing strategy to keep up testing speed with the development speed.

What does Continuous Testing do?

It does just what its name suggests. Whenever a set of code is built, automated tests are executed. If the test deems the code as good to go, it is then sent for more exhaustive testing to ensure performance and functionality. If the code fails the test, it gets rejected, and the developer who built it gets notified.

Sending the failed code back to the developer who wrote it removes the problem of tracking the defect. Instantly notifying the developer of the issue also causes it to be solved quickly and minimizes chances of the same issue occurring later on during development.

As meta as it may seem, a continuous testing framework also needs to be continuously upgraded, and new test cases need to be added, and obsolete tests that take up time and yield no value have to be removed.

In all, continuous testing decreases your time to market, reduces testing times from months to days or even hours, empowers development and testing teams to work in tandem, helps companies circumvent significant threats in the early stages of development, and reduces last-minute pressure on QA teams. (We can hear you cheer for the last one!)

Conclusion

“Quality is not an act. It is a habit” – Aristotle.

The only way to beat your competition is to keep surpassing your previous records and making your product/service better every day than it was on the day before. And that is why continuous testing with automation is an essential requirement for an effective SDLC and your entire organization’s success in the long run.

Start your journey towards building a habit for better quality today. Get in touch with us to audit your QA function and make your QA practice stand out among the others.

Want to read more about assurance? Download our whitepaper on Accelerated Assurance: Leveraging Automation to Guarantee Time, Quality and Cost. 

Everything you need to know about QA and Agility / SDETs – The point where QA and Agile Meet

In a market where most software is constantly being improved and equipped with better features in every release, traditional testing certainly is a huge hindrance, and it is considered the #1 bottleneck in software development, according to a Gartner Report on QA. This is why a continuous approach to quality assurance, where quality is a part of the software development from the beginning, becomes crucial. 

 

Software development in an agile method improves how testing is performed. The agile methodology includes quality assurance in every stage, and QA engineers perform continuous testing and provide rapid feedback throughout the development cycle. 

 

Then we go one step further and look at mature agile teams. Multiple organizations with mature agile teams have at least one common factor: skilled software pros who multitask and keep upskilling themselves to adapt to the market demands, especially from a quality assurance point of view.

 

SDET or Software Development Engineer in Test is a role performed by a hybrid software developer involved in both development and testing, and sometimes more in the Software Development Life Cycle (SDLC).

Why SDET? / The need for SDET

An SDET oversees the entire SDLC and ensures that the project requirements are met. They can work as developers as well as testers and have the capability to think from both perspectives. Therefore, SDETs will be able to eliminate silos in traditional testing where development and testing do not work in tandem.

Besides identifying the root cause of issues, SDETs can also work on the code to fix the issues. The quick fix of issues facilitated by SDETs translates to faster release cycles without too much dependency on multiple team members. The need to develop and release high-quality software in a short period seals the deal and mandates the presence of an SDET in the team.

What does an SDET do? / Typical roles and responsibilities of an SDET

Although the responsibilities assigned to an SDET may vary depending on the individual’s skills and the organization/team structure, here’s a list of typical duties of an SDET.

  • Understand customer requirements 
  • Create test cases
  • Perform testing
  • Create and maintain reports on development and testing
  • Perform debugging
  • Regularly communicate with all stakeholders
  • Analyze and identify technology gaps and recommend/design tools to improve the product.

Differences between testers and SDETs

A tester is not expected to have programming skills, but an SDET should test and code. Effectively, a tester points out the issues, but an SDET identifies and fixes the issue. Testers are involved only in the testing stage of the SDLC, whereas SDETs are engaged from the beginning of the development process. A tester’s work is independent, and all they have to do is to test once the development is complete.

 

Therefore, a tester does not have to communicate with other team members. On the other hand, the role of an SDET involves communicating with customers, end-users, team members, and the company management. A tester might perform manual testing or automation testing. An SDET develops the tools and test cases required for such testing and performs testing using their developed tool.

 

Skills required for SDET/How you can become an SDET 

To become an SDET, you must develop the following skills:

 

  • Become a skilled developer in one or more programming languages 
  • Understand intricate technical specifications down to the last detail
  • Possess knowledge of different test methodologies
  • Be able to design test cases
  • Understand and perform project management
  • Build test automation
  • Work within Agile method of development
  • Understand business requirements
  • Ability to communicate effectively with the team as well as the client
  • Continuously upskill and keep up with the trends of the market

Other Career Options as an SDET

A quality assurance engineer does not necessarily have to be a developer to become an SDET. Listed below are some areas a QA can learn and the kind of teams they can fit into:

  • Expertise in cloud platforms and services like AWS or Azure – The Cloud deployment team
  • DevOps knowledge – The DevOps team
  • Product management and ownership – The product team
  • Design Skills – The design team
  • Automation expertise – The Java / Angular development team
  • Business operations knowledge – The Acceptance / Operations team

If you’re a quality assurance engineer, choose a field that interests you in addition to quality assurance, specialize in your preferred area, and transform yourself into an indispensable resource for your organization as an SDET. 

Give a list of different fields SDETs can get into, and they can choose whichever area they have exposure/interest/skills in and specialize in that and become an SDET, who will be an indispensable resource for any company. 

 

Manual testing may be a thing of the past, but Quality assurance as a practice will live on forever. People who have multiple skill sets and keep learning and updating themselves will always find a lucrative career in quality assurance.

 

The Key Components for Data Modernization

Alex Thompson Data and AI November 12, 2021

Data Modernization is at the forefront of every organization’s digital transformation initiative. While the transformation itself could be of the business model and processes or the organization’s culture, no real change can occur until data is modernized and made functional.

Imagine trying to create a flexible and open work culture, but your employees are still burdened by having to work with complex and outdated systems and data. Or you want to try and explore other business models and revamp your processes, but you have little to no insight into what your organization is currently doing. Therefore, it is inevitable that change, or digital transformation, in this case, must happen from all fronts for it to yield positive results. 

The following are the key components required for the success of a data modernization project: 

  • Strategy 
  • Data  
  • Engineering  
  • Intelligence 

Strategize Your Vision

To flawlessly execute a task, one requires a failproof way of doing it. Strategy is the first key component in every organization’s Data Modernization Project. 

First, analyze your current applications and their architecture. Understand your current data processes and the existing bottlenecks in your system. When you do this, you will arrive at a problem statement encompassing all the issues with your current system. Then identify your immediate and future business goals. Once you’ve set your goals, it is time to create a plan to solve your problems and provide a solution to meet all your requirements. Finally, ensure you invest in the right technology and people who can perfectly execute your plan.  

Focus on Data and Data Platform 

 What is an essential component of data modernization? Hint: It’s there in the name.  

Data is undoubtedly the focal point of data modernization. 

When you have succeeded at data modernization, your data will be completely integrated, be immediately available to anyone who needs it, adhere to security protocols, retain high quality, and provide valuable insights.  

 Here’s how you can ensure all the above:  

  • Choose the right platform to drive data transformation 
  • Modernize your data landscape 
  • Setup a data lake as a central repository for all data 
  • Establish data governance and ensure data security 
  • Build intelligent systems to harness the power of data 

Create Value Through Intelligence 

I have migrated and modernized my data; What next?  

To produce business value, you should convert your data into an intelligent business aid.  

Therefore, ‘Intelligence’ is the final but critical component of data modernization, generating real-time business insights that drive intelligent decision-making. 

Once your data is transformed into a viable product, build intelligent dashboards that show real-time information. Customize the analytics to deliver insights that align with your business requirements and help improve how your organization operates. Ensure you democratize data and create visibility into data for every stakeholder. Leverage existing AI tools in the market or build one on your own to accelerate processing and obtain advanced insights. Finally, incorporate automation wherever possible. 

Summary 

Here’s a quick look into the key components of data modernization and the focus points for each component: 

Strategy: Understand your problems, define your goals and identify the right solution 

Data: Establish data governance and security, and modernize your data landscape 

Engineering: Implement your strategy through data lakes and data pipelines. 

Intelligence: Get visibility into business data through advanced data analytics 

Let's talk about your next big project.

Looking for a new career?