Kie Komenci kun Test-Aŭtomatigo por Ekzistanta Retejo?

Andreo demandas:

Mi ĵus aliĝis al interreta kompanio kiel ilia unua QA-membro. La retejo estis disvolvita en la pasintaj kvin jaroj kaj dum ĉi tiu tempo, programistoj kaj aliaj teamanoj faris la testadon.

Ekzistas neniu formala QA aŭ testoprocezo modloko, tiel ke ĉiuj testoj estis plejparte ad hoc.


Nun mia administranto, kiu respondecas pri liverado de programoj, volas, ke mi kreu aŭtomatan regresan testan pakon, kiun la teamo povas plenumi kiam ajn ili disvolvas novajn funkciojn.

Mia demando estas: kie mi komencu per test-aŭtomatigo por konstrui ĉi tiun regresan pakon por retejo funkcianta de pli ol kvin jaroj?


Iuj ideoj / sugestoj estus tre ŝatataj.

Mia respondo:

Post kiam retejo funkcias kaj servas vivantajn klientojn dum kelkaj jaroj, tiam ĝi estas en matura stato. Per matura, mi volas diri, ke estas (espereble) neniuj evidentaj seriozaj cimoj en la sistemo kaj se iu ajn, ili estos la subtilaj aŭ randaj kazoj, kiuj ne facile videblas de ĉiuj.

Kion ni ne devus faru, estas provi retrospektive verki testojn por ĉiuj rakontoj, kiuj jam estis disvolvitaj kaj fariĝis parto de la sistemo. Tamen, kion ni volas, estas aro de ŝlosilaj scenaroj, kiuj ekzercas la sistemon de fino al fino, por certigi, ke estontaj evoluoj ne endanĝerigu la ekzistantan funkciadon.


Paŝoj sube estas iuj gvidlinioj uzeblaj por ekzistanta kaj jam establita retejo por trovi la ŝlosilajn scenarojn kaj metodon plivastigi ĉi tiujn por krei funkcian regresan pakon.

Rilataj:

1. Esploru

Unue vi devas familiariĝi kun la retejo kaj ĝiaj trajtoj. Komencu esplori la retejon kaj lerni ĝian konduton. Tiel farante, vi ankaŭ povas krei mensan mapon de la strukturo de la retejo, kiaj paĝoj estas kaj kiaj trajtoj estas en ĉiu paĝo.

Mensaj mapoj estas bonega maniero akiri altnivelan momentfoton kaj superrigardon de la tuta retejo. Ni ĉiam povas raporti al la mensaj mapoj por kompreni kiel la paĝoj estas konektitaj.


2. Kolekti Metrikojn

Kolektu retejajn uzadmetrikojn de la merkatada kaj / aŭ analiza teamo. Plej multaj kompanioj enigas 'spurajn etikedojn' kiel Google Analytics en sia retejo por povi spuri kiel uzantoj uzas la retejon. Estas multaj informoj pri la uzanto-konduto kaj ofta uzaj vojaĝoj tio povas esti prenita de ĉi tiuj spuraj sistemoj.

La kialo, kial ni bezonas kolekti ĉi tiun informon, estas povi prioritatigi kiajn testajn scenarojn aŭtomatigi unue, por ke ni ricevu la plej grandan valoron en la plej mallonga tempo.

3. Ŝlosilaj Scenaroj

Komencu aŭtomatigi la kernajn fin-al-finajn scenarojn per la retejo. Ĉi tio formos la bazon de nia 'fuma regresa pako'. Ekzemple, por tipa retkomerca retejo, la kerna fin-al-fina scenaro estas:

Hejmpaĝo -> Serĉrezultoj -> Produktaj detaloj -> Klienta ensaluto / Registro -> Pagaj detaloj -> Mendo-konfirmo


Gravas noti, ke, por komenci, ni nur bezonas certigi, ke ni povas trairi la paĝojn, komencante de Hejmpaĝo kaj atingante la mendokonfirman paĝon. La celo estas kontroli, ke la aĉeta fluo ne rompiĝas, ol kontroli la funkciojn de ĉiu paĝo tre detale.

Post kiam ni kovros la plej simplan kaj oftan uzantan fluon, ni povas tiam esplori pli da variaĵoj. Malgraŭ la multnombraj kombinaĵoj de funkcioj kaj paĝoj, oni rimarkus, ke vere estas nur malmultaj uzataj vojaĝoj tra la sistemo konsiderindaj.

Esplorante analizajn datumojn, vi probable trovos, ke 80% de uzantoj irus tra la samaj vojoj sed kun malsamaj datumoj. Tial nia paka regresa fumo devas esti kreita surbaze de ĉi tiuj scenaroj.

4. Pliigi Kovradon

Noto pri priraportado, ĉi tie mi ne parolas pri testopriraportado; la fokuso estas trajtopriraportado .


Pligrandigu la fumregresan pakon por krei pli vastan funkcian regresan pakon per uzado de mensaj mapoj kaj apliko de ŝtata transira testtekniko por konstrui la scenarojn.

Eniraj Punktoj - Unue ni devas unue trovi la enirpunktojn en la sistemon. Ĉi tiuj enirpunktoj povus esti uzanto surteriĝanta sur la ĉefpaĝo, paĝo pri detaloj de produkto aŭ SEM (Serĉila Merkatado) specifa paĝo.

Post kiam ni identigas apartan surteriĝan paĝon, ni devas vidi, kiaj trajtoj estas en tiu paĝo, kun kiuj la uzanto povas interagi. Jen mensaj mapoj fariĝas tre utilaj. Ni havas altnivelan superrigardon de la paĝo kaj ĝiaj trajtoj.

Ĉi tie, la signifo de funkcio estas aŭ ununura ero kiel faliga skatolo aŭ plenigi formularon de uzanto-detaloj aŭ tiel simple kiel alklaki ligon.

Komenca ŝtato - Kiam ni unue suriros enirpunkton en la aplikaĵo, estos stato asociita kun tiu paĝo. Ni registras tion kiel la komencan staton de la aplikaĵo. Kiam ajn ni interagas kun iuj el la funkcioj en tiu paĝo, ni plej verŝajne ŝanĝos ĝian komencan staton.

Ellasilo - Iuj funkcioj, interagataj kun ili, aŭ ŝarĝos la saman paĝon (ekz. Ordigaj opcioj konservos la saman paĝon, sed datumoj estos ordigitaj) aŭ transiro al alia paĝo (ekz. Sendado de validaj atestiloj de uzanto). La afero, kiu kaŭzas ĉi tiun transiron, al la sama paĝo aŭ al alia paĝo, nomiĝas ellasilo, kiel la butono sendi.

Asertoj - Poste estas la asertoj. Kiam ajn la stato de la aplikaĵo ŝanĝiĝas, per interagado kun funkcio, ni devas fari asertojn por kontroli la staton de la nova stato. Ekzemple, kiam ni sendas ensalutan formularon kun validaj uzantodatenoj, ni devas aserti, ke la uzanto nun estas ensalutinta.

Ni povas daŭrigi sammaniere pri la nova transiro, aŭ reiri al la komenca stato kaj interagi kun alia funkcio ĝis ni kovras ĉiujn gravajn trajtojn de la mensaj mapoj.

Kun la paso de tempo, la nivelo de konfido en disfaldado de nova kodo pliiĝas, ĉar pli da scenaroj aŭtomatigas kaj funkcias regule.