Penpot
Penpot is een open-source platform voor design en prototyping dat de kloof tussen ontwerpers en ontwikkelaars overbrugt. Het is browsergebaseerd, multiplayer en collaboratief. De app biedt herbruikbare componenten, flex-layout, lettertypebeheer, interactieve prototyping en dev-tools zoals code- en eigenschapsinspecteurs, en nog veel meer.
Alle klantenWeb app testen
We hebben Penpot geholpen hun web-app grondig te polijsten vóór de officiële lancering, zodat gebruikers konden profiteren van alle geweldige functies zonder afleidingen of obstakels. We hebben de bestaande en nieuwe functionaliteit getest, zodat niets afdeed aan de waarde van het product.
Meer wetenGeautomatiseerd testen
We hebben Penpot geholpen gebieden voor testautomatisering te identificeren en de implementatie ervan vanaf de grond af op te zetten. We hebben een redelijk aantal regressietests geautomatiseerd, wat Penpot hielp nog meer kritieke bugs te ontdekken voordat de build werd uitgerold en naar gebruikers werd verzonden.
Meer wetenUitdaging
Penpot wendde zich tot QAwerk om ervoor te zorgen dat ze hun product binnen het gestelde tijdsbestek aan het grote publiek konden lanceren. Ze wilden dat hun interne team zich volledig zou richten op het ontwikkelen van waardetoevoegende functies en het polijsten van de productfunctionaliteit, in plaats van zich zorgen te maken over bugs en hoe deze te vangen.
Hier is een kort overzicht van wat we moesten leveren:
- Ontwikkel teststrategie & plan. Voordat ze met QAwerk samenwerkten, rapporteerden het Penpot-team bugs met hulp van interne teamleden en hun grote gemeenschap van bètaversiegebruikers. Met de groeiende populariteit van Penpot en de intentie om het bètastempel van hun app te verwijderen, was deze aanpak niet langer duurzaam. Daarom werd ons gevraagd het gehele testtraject te plannen en de juiste QA-workflows op te zetten om de basis te leggen voor toekomstige professionele tests.
- Van bèta naar officiële release. Het elimineren van bugs en het verbeteren van de prestaties voordat het product commercieel gereed aan het publiek werd vrijgegeven, was van het grootste belang voor Penpot. Onze taak was hier om methodisch alle bestaande functionaliteit te doorlopen en zoveel mogelijk problemen te vinden om ervoor te zorgen dat er geen kritieke bugs meer in de productie zaten en dat de app zonder vertragingen of problemen met gegevensopslag werkte.
- Nieuwe functionaliteit polijsten. De productie-release omvatte enkele langverwachte ‘killer features’, zoals flexibele interfaces, directe toegang tot code vanuit de werkruimte en verbeteringen aan de toegankelijkheid, naast andere dingen. Onze taak was ervoor te zorgen dat deze upgrades naadloos werden geïntegreerd, geen verstoringen veroorzaakten voor de bestaande functionaliteit en gebruikers oprecht enthousiast maakten over het gebruik van Penpot.
Bovendien wilden we Penpot helpen betere dekking te bereiken en updates met een gerust hart uit te brengen. Daarom boden we aan om handmatige tests aan te vullen met testautomatisering.
Oplossing
Toen we net begonnen met testen, stuitten we op een groot aantal interne serverfouten die vrij willekeurig verschenen, en het was aanvankelijk niet duidelijk wat dit gedrag veroorzaakte. Deze bugs moesten onmiddellijk worden opgelost, omdat gebruikers die ermee te maken kregen hun werk konden verliezen.
Dus namen we video’s op om de exacte stappen vast te leggen om dit type bug te reproduceren, in een poging een gemeenschappelijk patroon tussen dergelijke gebeurtenissen te vinden en te achterhalen welke gebruikersacties de fouten hadden kunnen veroorzaken en welke app-gebieden er het meest gevoelig voor zijn. We deelden onze bevindingen met de ontwikkelaars van Penpot, en uiteindelijk hebben zij dit probleem volledig uitgeroeid.
Onze testinspanningen omvatten verschillende soorten testen, zoals:
- Functioneel Testen. We controleerden of de gebruikersautorisatie soepel verliep. We hebben de modules voor gebruikersprofielen, dashboards en werkruimten grondig getest. We zorgden ervoor dat alle wijzigingen zonder vertragingen werden toegepast op het ontwerp, vooral tijdens collaboratieve bewerking.
- Regressietesten. Het Penpot-team brengt continu nieuwe functies en upgrades van bestaande functies uit, wat regelmatige regressietesten noodzakelijk maakt. We combineren zowel handmatige als geautomatiseerde regressietesten om de beste dekking en consistente resultaten te bereiken.
- UI Testen. Het strakke visuele uiterlijk van de gebruikersinterface is van het grootste belang voor elke moderne app, vooral voor een ontwerptool zoals Penpot die wordt gebruikt door UI/UX- en productprofessionals bij grote bedrijven. We hebben de positionering en uitlijning van elementen op elke interface gecontroleerd en ervoor gezorgd dat UI-patronen consistent waren in de hele app.
- Compatibiliteitstesten. Onze QA-ingenieurs hebben Penpot getest in drie grote browsers: Firefox, Chrome en Safari. We hebben Penpot getest in verschillende Safari-versies, aangezien sommige bugs alleen in oudere versies verschenen. We hebben ook drie verschillende besturingssystemen gebruikt: Windows, macOS en Linux, om ervoor te zorgen dat alle gebruikers kunnen profiteren van Penpot, ongeacht hun apparaten.
Wat betreft testautomatisering, hebben we ons voornamelijk gericht op regressietestgevallen.
Testautomatisering
Testautomatisering werd uitgevoerd met behulp van het Playwright-framework. Playwright is ontworpen om browser- en platformonafhankelijke automatisering te vereenvoudigen, dus het past goed bij onze behoeften.
Bij het selecteren van testgevallen voor automatisering volgden we twee regels: testgevallen moeten een hoge impact hebben en hun voorbereiding mag niet te veel tijd in beslag nemen. Zo kunt u een positieve ROI zien.
We automatiseerden bijvoorbeeld geen gevallen zoals aanmelden of wachtwoord vergeten, omdat je hier te maken hebt met externe API’s zoals Gmail, en het automatiseren van deze workflow is de moeite niet waard. Of gevallen met slepen en neerzetten of kopiëren en plakken, omdat deze niet altijd correct worden afgehandeld door Playwright en tests instabiel kunnen zijn.
We automatiseerden testgevallen zoals inloggen, bestanden maken en verwijderen, bestanden openen en hernoemen, borden maken en verwijderen, vervaging aan borden toevoegen, achtergrondkleur wijzigen, en nog veel meer. Ze zijn beschikbaar in de publieke repository van Penpot.
We hebben ook de visuele vergelijkingen van Playwright benut voor snapshot-tests. Om het aantal mislukte tests vanwege UI-wijzigingen te minimaliseren, gebruikten we schermafbeeldingen die slechts een enkel element of een gedeelte vastlegden, zoals een gemaakt vorm. Zo beïnvloedden nieuwe secties die aan het ontwerpvenster werden toegevoegd, de teststabiliteit niet.
Ongeveer 10% van onze testgevallen vereist het vastleggen van het hele scherm, bijvoorbeeld wanneer we niet alleen de lagen, maar ook de werkbalk moeten controleren. Hier gebruikten we maskering om elementen met dynamische inhoud, zoals tijdstempels of gebruikersnamen, te negeren. Hoewel het onmogelijk is om ‘false positives’ volledig te elimineren, is het bijwerken van dergelijke testgevallen eenvoudig en snel.
Bekijk hoe we het deden
Bugs Gevonden
De meeste bugs die we rapporteerden, hielden verband met wijzigingen die niet werden toegepast bij het collaboratief bewerken van een bestand, overlappende elementen, overlopende tekst en interne serverfouten.
We detecteerden ook een belangrijk compatibiliteitsprobleem toen de app niet beschikbaar was voor gebruikers die Penpot openden in Safari-versies ouder dan 16. Hoewel deze specifieke versies niet gebruikelijk waren onder Penpot-gebruikers, werd het probleem dezelfde dag opgelost.
Werkelijk resultaat: De gekopieerde en geplakte vorm is niet zichtbaar op het bord.
Verwacht resultaat: De gekopieerde en geplakte vorm is zichtbaar.
Werkelijk resultaat: ‘Interne Fout’ verschijnt; de bug is nog steeds reproduceerbaar na het opnieuw laden van de pagina.
Verwacht resultaat: De gebruiker kan lagen slepen.
Werkelijk resultaat: Bij het klikken op het 'Groepeer ontbinden'-menu-item met de rechtermuisknop voor de groep typografieën in het paneel 'Assets', gebeurt er niets; de groep blijft bestaan.
Verwacht resultaat: De groep wordt verwijderd; het lettertype wordt verplaatst naar de hoofdmap van de sectie 'Typografieën'.
Resultaat
Door alle testinspanningen aan QAwerk te delegeren, kon Penpot hun product volledig voorbereiden op de officiële release en verschillende ‘killer features’ implementeren om gebruikers op de lanceringsdag te verrassen. Met onze hulp heeft Penpot showstoppers en vele andere kritieke bugs ontdekt en opgelost voordat ze talrijke gebruikers beïnvloedden. Met onze gezamenlijke inspanning is Penpot getransformeerd tot een robuust en stabiel platform dat gebruikers in staat stelt creatief te blijven en zich zonder afleiding te concentreren op hun werk.
We hebben een solide basis gelegd voor toekomstige continue professionele tests en blijven Penpot ondersteunen in hun missie om innovatieve open-source oplossingen te bieden en de samenwerking tussen cross-domein teams te verbeteren.
Onderscheiden
Fast Company Innovation by Design Awards
Lees meer
Tech Talk
In de pers
Uw product perfectioneren vóór een grote release?
Laten we pratenHulpmiddelen
Playwright
BrowserStackQAwerk Team Commentaren
Aliaksei
QA automation engineer
Het creëren van geautomatiseerde testgevallen was soms een uitdaging, gezien de aard van het product - complexe interacties met objecten en weinig unieke locators bij het maken van elementen in de werkruimte. Maar ik houd van een goede uitdaging en ik heb geleerd Playwright optimaal te benutten. Ik heb ook een paar nuances over snapshot-testen ontdekt. Samenwerken met de teamleden en het management van Penpot was ook een waar genoegen - zeer responsief, attent op elke bug en waarderend voor onze suggesties.
Oleh
QA-ingenieur
Ik ben erg blij dat ik heb bijgedragen aan de officiële release van Penpot, die een succes was en het resultaat van hard werk aan beide kanten. We hebben een hoop testgevallen geschreven en tal van ernstige bugs ontdekt, wat de stabiliteit van de app positief heeft beïnvloed. Dankzij dit project heb ik ervaring opgedaan met het draaien van Linux in VirtualBox en heb ik een nieuwe bug-trackingtool, Taiga, uitgeprobeerd.



Gerelateerd op de Blog
Alphatesten versus bètatesten: een volledige vergelijking
Zowel alpha- als bètatesten zijn vormen van user acceptance testing, waardoor u vertrouwen kunt opbouwen vóór de productlancering. Beide helpen bij het verzamelen van bruikbare feedback en het verhogen van d...
Lees meer
Hoe testgevallen te schrijven: de uitgebreide gids van QAwerk
Direct vanaf het begin stellen we dat er geen universeel type testcase bestaat. Er is echter wel een reeks makkelijk te volgen procedures en oplossingen die, indien correct geïmplementeerd, tot een goed resultaat leiden. We hebben de best practices voor het schrijven van...
Lees meerOnder de indruk?
Huur ons inAndere casestudy's
Arctype
App-stabiliteit bereikt en software-releases 20% versneld met nachtelijk testen en automatisering
Evolv
Verhoogde de snelheid van regression testing van dit digitale groeiplein met 50% en zorgde ervoor dat het platform 24/7 optimaal draait
Keystone
Heeft Noorwegens #1 studeerportaal geholpen bij het verbeteren van 8 van hun content-rijke websites, die jaarlijks door 110 miljoen studenten worden gebruikt

