Kako prijeći iz dobra u Veliko

Ovo je uvod u višedijelnu seriju, u kojoj istražujemo kako napredne razvojne procese učiniti učinkovitijima i skalabilnijima - kako bi brži proizvod bio bolji.

„Skupina ljudi koja promiče mozgom zbog laptopa i listova papira“ Štefan Štefančík na web stranici Unsplash

Izgradnja odličnog proizvoda često nije solo pothvat. Najrazvijenije postavke uključivale bi više timova kreativnosti, marketinga, proizvoda i tehnologije. Čak i ako ste tvrtka tvrtke, morat ćete komunicirati sa svojim korisnicima kako biste prikupili njihove povratne informacije o tome što im djeluje. Ovaj iterativni okvir procesa cikličkog oblikovanja radi poboljšanja kvalitete i funkcionalnosti obično se naziva Agile Iteracijski tijek rada.

Što je brže moguće ponoviti, bolji će vam proizvod postati.
Smjerni list

Na StashAwayu, kada je prvi tim započeo s izradom internetskog proizvoda, bili smo ubrzani, a naši razvojni procesi i procesi upravljanja bili su manje strogi. Sada kada proizvod sazrijeva i što se više mogućnosti istražuje i dodaje, mi želimo poboljšati i pooštriti naš proces izgradnje bolje i skalabilnije prednje arhitekture proizvoda. Naša trenutna postavka ne dopušta nam učinkovito skaliranje u pogledu ponude značajki i proširenja zemalja.

Da bismo napravili izvrstan proizvod, moramo usavršiti tijek rada za ponavljanje. O tome postoji puno literature o upravljanju proizvodima, a to nije područje ovog niza članaka. Ono što želimo istražiti je kako biti brži s iteracijama u fazi izrade prototipa i izgradnje, a da bismo to postigli, morat ćemo formalizirati interne procese razvoja i odobrenja našeg tima kako bismo mogli učinkovitije surađivati ​​s kreativnim i proizvodnim timovima. , Mi mislimo da to možemo postići upotrebom kontinuirane integracije i protoka isporuke u kombinaciji sa širim tokom rada o iteraciji proizvoda kako je ranije izloženo.

Konačno, cilj nam je pristupiti deklarativnoj programskoj paradigmi koja izražava ono što želimo raditi u našim aplikacijama, umjesto da imperativno kodiramo kako. Da bismo to postigli, morat ćemo postaviti temelje stvaranja naših građevnih blokova.

Započinjemo proširivanjem našeg odvajanja brige o korisničkom sučelju i logici primjene, tako da razvoj komponenti UI postaje zasebna aktivnost. Imat će vlastiti centralni repozitorij, zajedno s uobičajenim uslužnim programima, vlastiti paket jedinica, testove prihvaćanja i regresije. Naše komponente korisničkog sučelja sada će se moći koristiti za ponovno korištenje, za sastavljanje i tematiku, za varijacije web stranica i web aplikacija. Kada se koristimo sa Storybook-om, možemo stvoriti biblioteku interaktivnih uzoraka.

Imat ćemo povjerenje da će naše komponente UI izgledati i ponašati se onako kako treba kako bismo se mogli usredotočiti na zabavne i važne stvari - aplikacije i kako se trebaju ponašati. Možemo primijeniti isti postupak s našim komponentama sučelja na naše projekte specifične za aplikaciju, s specifičnijim testnim paketima kako bismo maksimalizirali pokrivenost. Tek s ovim testnim paketima možemo povećati samopouzdanje programera za poticanje i korištenje koda, a zauzvrat ćemo povećati brzinu ponavljanja.

Pomoću ovog središnjeg skladišta komponenti koje mogu sadržavati kompozicije možemo prototirati i testirati ideje za testiranje korisnika, a čak i isporučivati ​​nove značajke povećanim tempom.

Razine testiranja softvera

Primijetili ste da kući dajemo poruku da je testiranje važno. Testiranje softvera je velika tema u razvoju softvera, ali usredotočimo se na četiri razine ispitivanja koja su sastavni dio nesmetanog rada procesa kontinuirane isporuke - jedinice, integracije, sustava i prihvaćanja.

Koristimo jedinicke testove za validaciju pojedinih komponenti, najmanjih ispitivanih jedinica, u softveru. U našem slučaju to su obično komponente UI ili pomoćne metode. Integracijsko testiranje se događa kada se pojedine komponente testiraju kao grupa. Na primjer, to bi moglo značiti značajku kao što je kalkulator, na kojoj ćete imati gumbe i zaslon, a osigurati da se pojavi odgovarajući broj kao odgovor na pritisak tipke. Za API, krajnja točka mogla bi uspostaviti vezu s bazom podataka kako bi dohvatio skup podataka.

Jedinstvena i integracijska ispitivanja obično uklanjaju većinu groznih grešaka prije nego što krenemo u postavljanje. To štedi vrijeme za interne i vanjske testere koji će procijeniti dovršen i integrirani sustav u skladu s karakteristikama i poslovnim zahtjevima - domenama sustava i testiranjem prihvatljivosti. Nakon što softver prođe četiri razine testiranja, možemo se implementirati u proizvodnju.

Ovo je poseban pogled na to kako planiramo da učinimo procese prednjeg tima učinkovitijim. Pratit ćemo više detalja o implementacijama u kasnijim postovima o front-end razvoju na StashAwayu. Ostanite u toku!

Neprestano smo u potrazi za velikim tehnološkim talentom koji će se pridružiti našem timu - posjetite našu web stranicu kako biste saznali više i slobodno nam se obraćali!