[MUSIC PLAYING]
SPEAKER: Every organization would like their API program
to be successful.
Quality assurance strategy is about detecting and correcting
problems during the SDLC to ensure APIs are reliable
and consumers can utilize them to deliver
high-quality digital experiences.
Let's look at the digital value chain again.
Consider where quality assurance should be implemented.
In most organizations, we quickly
identify the technical areas.
Your back-end servers and APIs must be clear of defects
to ensure you are generating great and quality
digital experiences.
However, focusing solely on protecting code integrity
is only the start of a quality assurance strategy.
Your team should actively participate
and have a culture of continuous quality assurance as well.
Developers and key team members must consistently
strive to find, prevent, and correct issues.
Quality assurance should also be an active process in deploying
your connected experiences.
This can be automated through a continuous integration
and delivery tools that could also
help with unit testing, integration testing,
and performance testing.
The principle of automation and quality
is an essential part of digital transformation.
CI/CD often helps reduce rework and technical debt,
while maintaining quality throughout the entire
development lifecycle.
Some of the benefits of CI/CD, with the help of automation,
include increasing the speed of finding and fixing
code and integration errors, decrease
in the cost of finding and fixing those errors,
increase in dev team's confidence in code stability,
increase in dev team's frequency in releasing
the code to production.
But successful quality assurance strategies
must also occur at the customer level.
Leveraging your customers to receive feedback, test
new features and services, and validate user experiences
must be an integral part of your continuous improvement process
and ensure that your organization is able to keep
your customers happy.
Let's take a look at the details within quality assurance.
Here are a few factors to consider
when building your quality assurance strategy.
Reducing risks is critical in your QA strategy.
The risk of a bad experience reaching the customer
can be greatly reduced when regression testing
and continuous quality assurance is in place.
Be sure that your team understands
what the objectives, requirements, and acceptance
criteria are for new features and changes to your APIs.
The key is to make sure your requirements are clearly
aligned with your business needs and stakeholders' expectations.
Does your team have the right technical skills and capacity
to ensure quality assurance is being met?
As testing becomes increasingly automated,
QA engineers are replacing manual testing efforts.
Your API team and testers should automation
testing and QA skills as well as understanding
of the key test frameworks in the development cycle.
Understand how your products work
and how the tools can be used to help
maintain your quality assurance.
Each tool in your CI/CD process, along with your API platform,
can be leveraged in your QA strategies.
The business must support a culture
of quality assurance and continuous improvement as well.
This means including QA further upstream in the requirements
and design process and also collaboration
between the product on the QA to mutually define acceptance
criteria and test cases.
Finally, also consider any organizational regulations
that are required.
These may also drive quality and may require specific standards
to satisfy feature release.
Having your regulations understood
by everyone on your team will prevent needless cycles
to approve new features.
So let's summarize everything with a few key strategies
to build quality into your SDLC.
The first is to make time to test.
Unfortunately, some teams often look to QA as an afterthought.
Only when something breaks does the question come up,
where was our quality assurance?
Have dedicated time and QA role embedded in your daily routine
to test your APIs and validate quality.
Second, everyone is responsible for quality.
As we discussed earlier, everyone
is responsible throughout your digital value chain
and software development lifecycle
to test, detect, prevent, and correct issues.
Do not hand off QA to someone else.
Follow through on every issue.
Third, documentation is essential.
The more your team gets comfortable with documenting
product features and product issues,
the better your quality will get.
This should happen every layer of your experiences, back-end,
front-end, and APIs.
We discussed Gherkin as a great way
to document both the requirements and a test
scenario at one time.
This smart way of writing saves a ton of team time
and helps enable everyone to weigh in.
Furthermore, Gherkin can be converted directly
into programmatic test scripts, saving even more time.
Fourth, automate testing but don't avoid manual testing.
We discussed on your CI/CD pipeline
can assist in quality assurance processes
by standardized testing, deployment, and integration.
But don't solely rely on automated testing.
Your team should always get involved
and conduct manual tests to validate the automated
testing is working properly.
Fifth, test early and often.
Quality is about consistently delivering quality experiences.
Your code, designed APIs, and user experiences
should constantly be reviewed and supported
to ensure continuous quality assurance.
Testing in each sprint right after code is developed
is a great way to catch bugs before they are a larger
impact.
Oftentimes, the QA and the developer
will sit side by side together at the end of their sprint
to do a QA walkthrough.
If something's found, the developer
will fix it on the spot, and no defect ticket even
needs to be logged.
Finally, and sixth, include your customers in the process.
Your customers are and developer community
can help ensure quality.
Invite them to a user testing at the end of the sprint
or have them play with an alpha or beta version of your APIs.
Building a pilot customer group can be one
of your most valuable assets.
Listen to what they have to say and issues they report to you.
Everyone should be involved with the quality assurance.
Hopefully, you've found a few strategies in the presentation
to help build a successful quality assurance
strategy to support your APIs and ongoing development
and customer experiences.
If you want more information, check out
the community for ebooks, articles,
and other related topics.
Thank you for watching.
[MUSIC PLAYING]