Homeinsightshow to build a robust and sustainable QA structure from scratch
quality assurance & testing
how to build a robust and sustainable QA structure from scratch
Benoit Tran, Sénior Consultant - QA Manager, Itecor Paris · October 30, 2023
Content
context
Our client is the leading French company in the field of physical and electronic document archiving, with over 45 years of expertise. They provide physical storage solutions in secure warehouses and software solutions that facilitate the management of all document-related processes, including scanning, Document Management Systems (GED), and digital and physical archiving management.
Currently, these services and solutions are used by over 11,000 clients, and 98% of companies listed in the CAC 40 index.
After conducting an audit on the client’s software quality processes and proposing associated recommendations, Itecor was chosen to implement these recommendations.
The main objective was to accelerate the pace of production deployments and enhance the overall software quality of all products offered in our client’s catalog.
Through its expertise, Itecor became the primary partner and player for the client in establishing a QA community working on their 5 key products as early as 2020.
challenges
Initially, the client did not have a unified and industrialized QA policy.
In this context, they sought our expertise to provide ten structural proposals, with the mission of creating the software quality function from scratch, defining a global strategy, and gradually implementing it within the different teams.
The main challenge of our mandate was to provide operational advice to the client on the following points: defining the testing policy, recruiting and integrating experienced QA profiles into squads, implementing change management, defining processes, monitoring and reporting KPIs.
Recruiting the right profiles
To meet the client’s high requirements and successfully manage the change process, it was crucial to integrate qualified, certified, and agile talents into the team.
ISTQB Test Manager, Automation/Performance Expert Engineer certifications were evident prerequisites in the recruitment process, demonstrating our ability to deliver state-of-the-art testing processes.
Furthermore, beyond in-depth technical interviews, the Itecor consultants selected for this mandate were particularly assessed for their “soft skills” and service orientation.
Establishing processes and standards
To ensure software quality, it was essential to identify key processes, including:
Defining responsibilities, milestones, and associated timelines.
Formalizing expected deliverables.
Selecting the tools to be used.
Managing requirements through the creation of test scenarios in Gherkins format.
Harmonizing the ticket workflow in Jira for bug handling.
Expressing quality criteria, such as the absence of blocking bugs, defining a tolerance threshold for major and minor bugs, requirement coverage rate, and number of validated and executed tests.
Defining standards was a crucial step as it set the guidelines for test execution, documentation production, naming conventions, and bug management policy.
These standards needed to be clear, understandable, and applicable to all parties involved.
Selecting and implementing testing tools
The client collaborated with several public entities in the development of a digital archiving software package. As a result, they needed to demonstrate total independence and ensure data protection in compliance with the constraints of the Patriot Act.
In this context, Itecor primarily considered European market solutions. The client finally chose French testing tools such as Squash TM for test management and a codeless tool for web, desktop, and mobile application automation.
Itecor also proposed and integrated a recognized performance testing solution to ensure the robustness of the solutions before their production release.
key success factors
Our main team consisted of a task force experienced in all testing domains: manual testing, automation, performance, and strategy.
An Itecor QA Manager led the team, ensuring cohesion among internal and external resources, project management, reporting, and client interface.
The ability to build trust and satisfaction with all stakeholders: Director of IT, Chief Technical Officer, Chief IT Operations Officer, Chief Product Owner, Product Owner, and Developers.
The capability to capitalize on knowledge and facilitate exchanges between the QA tribe (10 people) and the 6 development squads.
solution
Defining Scope and Objectives
Itecor relied on the TMMi model to assist the client.
TMMi is a reference model that allows evaluating and improving the maturity of testing processes within an organization. It consists of five levels of maturity, ranging from initiation (level 1) to continuous optimization (level 5).
By using TMMi, Itecor objectively assessed the client’s maturity level and identified areas for improvement. This served to define the scope and objectives to be achieved step by step and provided an overall progression vision to the client.
Defining Prioritization Management
We applied the Risk Based Testing (RBT) method to manage functional coverage. This method evaluates the risk based on the probability of dysfunction occurrence and its impact on users and the environment.
Defining Associated Testing Context
Initially, we created a foundation of regression tests (TNR) by building a reliable and standardized test data set. This practice enables the comparison between versions with stable reference data.
Once this test repository was validated, we could create automated tests in suitable environments dedicated solely to software qualification purposes.
Defining the Place of Software Quality within the IT Department
We conducted a change management process inspired by Prince2 to ensure a smooth transition and successful integration of new processes into the existing workforce.
We communicated the reasons and benefits of establishing a QA tribe to all organization members, gaining their support.
Additionally, we provided in-depth technical training to QA resources to meet the client’s expectations and facilitate their onboarding.
benefits & results
The establishment of the QA tribe has provided numerous advantages:
Improved product quality and references.
Reduced risks and costs by identifying and correcting anomalies early on.
Optimized development processes through close integration of QA within the squad.
Compliance with ISO 9001, 27001, and NF461 standards.
Time savings through automation and smoke test execution.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
__hssrc
Session
This cookie is set by Hubspot whenever it changes the session cookie. The __hssrc cookie set to 1 indicates that the user has restarted the browser, and if the cookie does not exist, it is assumed to be a new session.
_GRECAPTCHA
5 months 27 days
This cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks.
cookielawinfo-checkbox-advertisement
1 year
Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
CookieLawInfoConsent
1 year
CookieYes sets this cookie to record the default button state of the corresponding category and the status of CCPA. It works only in coordination with the primary cookie.
JSESSIONID
session
New Relic uses this cookie to store a session identifier so that New Relic can monitor session counts for an application.
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Cookie
Duration
Description
__cf_bm
30 minutes
This cookie, set by Cloudflare, is used to support Cloudflare Bot Management.
__hssc
30 minutes
HubSpot sets this cookie to keep track of sessions and to determine if HubSpot should increment the session number and timestamps in the __hstc cookie.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Cookie
Duration
Description
__hstc
1 year 24 days
This is the main cookie set by Hubspot, for tracking visitors. It contains the domain, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session).
_ga
2 years
The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
_ga_*
1 year 1 month 4 days
Google Analytics sets this cookie to store and count page views.
_ga_JYCPSB48B8
2 years
This cookie is installed by Google Analytics.
_gat_gtag_UA_*
1 minute
Google Analytics sets this cookie to store a unique user ID.
_gid
1 day
Google Analytics sets this cookie to store information on how visitors use a website while also creating an analytics report of the website's performance. Some of the collected data includes the number of visitors, their source, and the pages they visit anonymously.
CONSENT
16 years 2 months 25 days 10 hours
YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
hubspotutk
1 year 24 days
This cookie is used by HubSpot to keep track of the visitors to the website. This cookie is passed to Hubspot on form submission and used when deduplicating contacts.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Cookie
Duration
Description
IDE
1 year 24 days
Google DoubleClick IDE cookies are used to store information about how the user uses the website to present them with relevant ads and according to the user profile.
test_cookie
15 minutes
The test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies.
VISITOR_INFO1_LIVE
5 months 27 days
A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSC
Session
YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devices
never
YouTube sets this cookie to store the user's video preferences using embedded YouTube videos.
yt-remote-device-id
never
YouTube sets this cookie to store the user's video preferences using embedded YouTube videos.