Voetgangers regels oefenen

Deze serie is gewijd aan het onderzoeken van de belangrijkste trends die de vorm van moderne software-applicatieontwikkeling bepalen. Zoals we hier aanvankelijk hebben besproken, met zoveel nieuwe …

Introduceer kunstmatige netwerklatentie op sommige van de verbindingen.

Andere dingen, veel meer (dan ik hier kan noemen) …

We combineren die problemen ook om nog meer onwaarschijnlijke scenario’s te creëren, dit alles onder zware belasting en soms tijdens een versie-upgrade. Bij systeemtesten staat dit bekend als chaostesten. We hebben deze praktijk zojuist aangepast aan onze context. voorrang voetgangers vragen veiligheid.

Zoals we hier aanvankelijk hebben besproken, met zoveel nieuwe veranderingen op platformniveau die zich nu in het technologielandschap afspelen, hoe moeten we denken over de cloud-native, open-compliant, mobile-first, Agile-verrijkte, AI-aangedreven, bot -gevulde coderingswereld en hoe komen deze krachten nu samen om de nieuwe wereld van moderne programmering te creëren?

Zodra tests kunnen worden uitgevoerd via een opdrachtregelinstructie, is het een goed idee om ze niet alleen in een build-tool te integreren, maar in een continu draaiende build-omgeving. Die staan ​​nu bekend als Continuous Integration (CI) -servers. Vanaf dat moment konden we automatisch controleren op regressies in bestaande software. Maar dit alles was nog steeds gebaseerd op een verkeerde veronderstelling: het succesvol testen van afzonderlijke componenten betekende het succesvol testen van de complete geassembleerde software. Het is vergelijkbaar met het testen van alle moeren en bouten van een auto … en te concluderen dat de auto is getest.

Auto theorie examen leren

Ik kreeg niet de kans om testen in productie te noemen: de basis van deze aanpak is dat testen in verschillende omgevingen niet wordt gevonden alle bugs. Daarom moet men doorgaan met testen zodra de software in productie is geleverd. Ik zou ook prestatietesten en de verschillende smaken, uithoudingsonderzoeken, belastingtesten en stresstesten, penetratietesten, enz. Moeten noemen. Er zijn zoveel verschillende soorten testen, het zou wel eens het onderwerp kunnen zijn van een heel boek – en waarschijnlijk is al gepubliceerd.

Maar ondanks al deze testen die gaande zijn, draait het bij engineering allemaal om het beheer van eindige bronnen te optimaliseren. Ingenieurs richten zich op de belangrijkste aspecten van het product en investeren meer testtijd in die gebieden. Bij Hazelcast staan ​​we bijvoorbeeld bekend om de prestaties en fouttolerantie van ons in-memory computerplatform. Om de prestaties te testen, besteden we veel tijd aan het uitvoeren van verschillende prestatietests gericht op hoge doorvoer en lage latentie, gevolgd door een gedetailleerd onderzoek van elk aspect van het systeem, zoals garbage collection, netwerk- en hardwaregebruik. auto theorie leren voor het examen.

Wanneer ontwikkelaars nadenken over moderne softwareontwikkelingspraktijken, overwegen ze nauwelijks testen, “omdat iedereen test!” vandaag. Hoewel het waar is, is het domein van testen zo rijk dat iemands testpraktijken niet in een zin kunnen worden samengevat. Zelf testen is geen nieuw idee: het is voortgekomen uit het idee dat software zo bugvrij, performant en fouttolerant mogelijk moet zijn. De manier waarop een team testen benadert – en de verschillende varianten – vertelt veel over de volwassenheid van softwareontwikkeling en hoeveel het deze betrouwbaarheid waardeert.

Om die reden ben ik er vast van overtuigd dat testen tot de beste moderne softwareontwikkelingspraktijken behoort (en behoort te worden).