Penpot

Open-source platform voor design en prototyping

bugvrij gemaakt vóór officiële release en continu getest door QAwerk
Girl Image Boy Image Clip Icon Blue Clip Icon Red
×
Waar wilt u ons onze Penpot case study naartoe sturen?
Voer uw zakelijke e-mailadres in

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 klanten

Web 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 weten

Geautomatiseerd 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 weten

Uitdaging

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 Fast Company Innovation by Design Awards Lees meer

Tech Talk

In de pers

Een jaar geleden gelanceerd, heeft de startup tienduizenden downloads en 15.000 “sterren” op GitHub gekregen. De 10.000 bedrijven onder de actieve gebruikers zijn onder meer Google, Microsoft, Red Hat, Tencent, ByteDance en Mozilla.

Toonaangevende publicatie voor startup- en technologienieuws

Open-source zijn is niet het enige dat Penpot uniek maakt. Het heeft ook een paar 'killer features' achter de hand die het een zeer goede match maken voor goede samenwerking tussen ontwerpers en ontwikkelaars.

Nieuwsportaal voor webontwikkelaars en ontwerpers
Het QAwerk-team blinkt uit in het testen van complexe systemen, het uitvoeren van betrouwbare handmatige tests op verschillende besturingssystemen en browsers, en het bereiken van volledige dekking met end-to-end geautomatiseerde tests. Ze leveren consequent werk van hoge kwaliteit en voldoen daarbij aan strakke deadlines.
star star star star star
Daniel Herrero García
Ik zou QAwerk om vele redenen aanbevelen, maar ik denk dat twee er echt uitspringen: de snelle, naadloze onboardingervaring, wat absoluut cruciaal is voor een team dat iets zo belangrijks als QA uitbesteedt. Maar ook het slimme gebruik van verschillende communicatiekanalen – deze werden effectief, met respect en een echt doordachte instelling ingezet.
star star star star star
QAwerk is proactief en behulpzaam. QAwerk heeft uitgebreide handmatige en geautomatiseerde tests uitgevoerd, waaronder functionele, regressie- en bruikbaarheidstests, naast geautomatiseerde tests die een breed scala aan scenario's omvatten. Ze hebben gedetailleerde bugrapporten geleverd met aanbevelingen voor prioritering en hebben samengewerkt met ons team om deze op te lossen. Belangrijke deliverables omvatten testplannen, testgevallen, geautomatiseerde testscripts en regelmatige statusupdates.
star star star star star
Pablo Alba Chao

Uw product perfectioneren vóór een grote release?

Laten we praten

Hulpmiddelen

TaigaTaiga
PlaywrightPlaywright
JavaScriptJavaScript
BrowserStackBrowserStack
250K+aanmeldingen
20K+GitHub-sterren
925+geschreven testgevallen
225+geautomatiseerde testgevallen
90+gemelde bugs
7gebruikte apparaten

QAwerk Team Commentaren

Aliaksei

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

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.

Media
Media
Media

Gerelateerd op de Blog

Alphatesten versus bètatesten: een volledige vergelijking

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

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 meer

Onder de indruk?

Huur ons in

Andere casestudy's

Arctype

Arctype

Verenigde Staten

App-stabiliteit bereikt en software-releases 20% versneld met nachtelijk testen en automatisering

Evolv

Evolv

Verenigde Staten

Verhoogde de snelheid van regression testing van dit digitale groeiplein met 50% en zorgde ervoor dat het platform 24/7 optimaal draait

Keystone

Keystone

Noorwegen

Heeft Noorwegens #1 studeerportaal geholpen bij het verbeteren van 8 van hun content-rijke websites, die jaarlijks door 110 miljoen studenten worden gebruikt