Twee maanden geleden bevond het M2Q Agile team zich in een situatie waarin de meeste van de geautomatiseerde testen op non-actief werden gezet omdat ze te veel tijd in beslag namen bij de uitvoering ervan. Nochtans waren die noodzakelijk om uitgevoerd te worden bij iedere build.
Na een zeer intensieve retrospective besloten we om een korte sprint te wijden aan het versnellen van onze testen, want hoe sneller de testen zijn, hoe vaker ze zullen worden uitgevoerd.
De testen die niet worden uitgevoerd vangen geen problemen op, en hoe minder vaak ze worden uitgevoerd, hoe verwarrender het is om te begrijpen wat er mis is. Snelle testen worden vaak gedraaid, en dat helpt ons om in kleinere, veiligere stappen te werken.
Het eerste wat we hebben gedaan is een kijkje nemen naar wat de testen eigenlijk doen. Een goede vuistregel is dat elke test precies één ding moet doen, tenzij anders gerechtvaardigd. Dit atomaire karakter is de sleutel tot het maken van unit testen, maar het is net zo belangrijk voor integratie of end-to-end testen. Het komt vaak voor dat minder performante testen overbelast zijn omdat er te veel zaken tegelijkertijd lopen. Door het aantal stappen, dat elke test moet uitvoeren, te beperken daalt de totale tijd voor elke test. Het kan zijn dat het uitvoeren van meerdere testen met één doel sneller is dan het uitvoeren van één overbelaste test.
Zodra we minder performante testen hadden geïdentificeerd en er geen duidelijk knelpunt was, draaiden we de test met een monitoring tool om te zien waarom dat die test zo lang duurde bij uitvoering. Met die informatie konden we de knelpunten identificeren en konden we nadenken over oplossingen om de performantie te verhogen.
Zo kun je de Time To Market verkleinen:
Na het bekijken en het invoeren van bovenstaande tips waren onze testen niet langer een bottleneck voor het project. We konden terug sneller gaan testen.
Maar zoals een collega tester eens zei, de bottleneck zijn is niet noodzakelijk een slechte zaak. Bvb. : Beveiliging is steeds een knelpunt op luchthavens. Soms moet je lang aanschuiven om voorbij het security checkpoint te komen. Maar er is niemand die zich uitlaat om te zeggen “Laten we de beveiliging afschaffen omdat ik 15 minuten wil besparen”?
Mensen die oordelen over de snelheid van testen hebben misschien niet nagedacht over de waarde van het proces. Testen is als verzekeren, in de zin dat je geen verzekering neemt omdat je hoopt winst te maken. Je sluit een verzekering af als bescherming tegen verlies. Testen heeft een prijs in ruil voor die investering en tijd.
We krijgen een kans om belangrijke en ontwijkende problemen te ontdekken en daar ligt de waarde van het testen.
Auteur: Oana
Veldkant 33a
2550 Kontich
Lucky Lukestraat 6
8500 Kortrijk
BE 0472.593.797
Blijf op de hoogte van het laatste nieuws
Blijf op de hoogte van het laatste nieuws
Cookie | Duur | Beschrijving |
---|---|---|
__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. |
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 | Records the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie. |
elementor | never | This cookie is used by the website's WordPress theme. It allows the website owner to implement or change the website's content in real-time. |
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. |
Cookie | Duur | Beschrijving |
---|---|---|
__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. |
Cookie | Duur | Beschrijving |
---|---|---|
__hstc | 5 months 27 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_WDBX6SFSHC | 2 years | This cookie is installed by Google Analytics. |
_gat_gtag_UA_32007030_1 | 1 minute | Set by Google to distinguish users. |
_gid | 1 day | Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously. |
attribution_user_id | 1 year | This cookie is set by Typeform for usage statistics and is used in context with the website's pop-up questionnaires and messengering. |
hubspotutk | 5 months 27 days | HubSpot sets this cookie to keep track of the visitors to the website. This cookie is passed to HubSpot on form submission and used when deduplicating contacts. |
vuid | 2 years | Vimeo installs this cookie to collect tracking information by setting a unique ID to embed videos to the website. |
Cookie | Duur | Beschrijving |
---|---|---|
_pk_id.1.8fc8 | 1 year 27 days | No description |
_pk_ses.1.8fc8 | 30 minutes | No description |
AWSALBTG | 7 days | No description available. |
AWSALBTGCORS | 7 days | No description available. |
debug | never | No description available. |
rl_anonymous_id | never | No description available. |
rl_user_id | never | No description available. |