what is sdet know difference between tester
Acest tutorial discută toate aspectele unui SDET (inginer de dezvoltare software în test), inclusiv abilități, roluri și responsabilități, salariu și parcurs în carieră:
Vom discuta în detaliu rolul SDET, așteptările și responsabilitățile din acest rol pe care îl așteaptă companiile, setul de competențe pe care trebuie să îl dețină un SDET, instrumentele și tehnologiile cu care candidatul ar trebui să fie practic, precum și salariile în general a oferit.
Ce veți învăța:
Înțelegerea rolului SDET
Forma extinsă a SDET este - Inginer de dezvoltare software în test
În cuvinte foarte simple, acest rol este o combinație între un intermediar între un rol de dezvoltator pur și un rol de tester pur. SDET-urile sunt profesioniști calificați atât în ingineria calității, cât și în dezvoltarea de software.
Termenul SDET a fost inventat pentru prima dată de Microsoft, care a fost apoi urmat și folosit de majoritatea denumirilor mari de produse precum Google, Amazon, Adobe, Expedia etc. Rolurile așteptărilor majore au fost înlocuirea sarcinilor manuale repetitive cu o oarecare automatizare pentru a crește eficiența, precum și fiabilitate pentru aplicațiile testate.
Comparație între SDET și QA manual
Testerele manuale de control al calității sunt axate în principal pe testarea Black Box sau a aplicației. Ceea ce înseamnă este, pentru un tester QA, ceea ce contează este o specificație a modului în care se așteaptă să se comporte o aplicație atunci când i se oferă o anumită intrare.
cel mai bun utilitar gratuit de curățare pentru Windows 10
Testerul QA ar folosi doar aplicația / sistemul testat așa cum ar folosi orice utilizator / client normal, dar concentrându-se pe mai multe detalii minuscule, precum și pe scenarii marginale, încercând diferite combinații de intrare etc.
SDET-urile se concentrează atât pe aplicația din White Box, cât și pe testarea Black Box. Cu alte cuvinte, aceștia ar fi, de asemenea, conștienți de funcționarea interioară a aplicației, care le permite să scrie teste de automatizare folosind atât tehnici de testare White Box, fie Black Box.
În esență, un inginer de dezvoltare software în test trebuie să fie conștient de toate tehnicile de testare Black Box împreună cu cunoștințele practice de dezvoltare / codificare pentru a înțelege funcționarea interioară a aplicației, care asigură standarde de calitate mai bune, precum și un produs software mai puțin defect.
În esență, un SDET ar trebui să acționeze ca un factor de asigurare a QA eficient prin orice mijloace. Ce înseamnă, de asemenea, că individul și-ar folosi abilitățile pentru a se asigura că toate părțile software-ului testat sunt validate în cel mai bun mod posibil, care ar trebui să includă testarea atât a zonelor funcționale, cât și a celor nefuncționale.
Să vedem comparația SDET și tester manual pe diferiți parametri
Parametru | SDET | Tester manual |
---|---|---|
Domeniul de testare | Se concentrează pe o mare varietate de tehnici și tipuri de testare. Exemplu: Funcțional, nefuncțional, securitate, performanță etc. | În general, concentrați-vă pe perspectiva funcționalității aplicației supuse testului. Un tester manual se comportă ca un utilizator / client al aplicației supuse testului și îl validează din această perspectivă. |
Automatizare | SDET-urile se concentrează în principal pe automatizarea scenariilor repetitive pentru a se asigura că testerele manuale se pot concentra pe scenarii mai complexe și de margine și își pot folosi lățimea de bandă și abilitățile mai eficient. | Testerii manuali posedă unele sau deloc abilități pentru automatizare. Cu toate acestea, este necesar ca testerele manuale să fie conștiente de utilizarea instrumentelor care ajută la testarea manuală Exemplu: Utilizarea Postman pentru executarea punctelor finale API, utilizarea furnizorilor de cloud, cum ar fi laboratoarele de sosuri, pentru executarea testelor pe diferite versiuni de platformă etc. |
Set de abilități primare | SDET-urile sunt în principal responsabile pentru automatizarea cazurilor de testare, precum și pentru scrierea de scripturi / instrumente reutilizabile care ajută echipa să reducă eforturile repetitive. Un membru senior al echipei SDET este, de asemenea, responsabil pentru crearea cadrelor de automatizare și pentru a permite altor SDET-uri să scrie teste folosind cadrul. | Testerele manuale se concentrează în primul rând pe funcționalitatea aplicației, se concentrează pe scenarii marginale și pe cazuri de testare complexe. De exemplu: Un tester manual care testează o aplicație mobilă, pe lângă toate scenariile funcționale, s-ar gândi la scenarii precum - Ce se întâmplă dacă închid aplicația atunci când există o operațiune de backend / apel de rețea în curs. - Ce se întâmplă dacă dispozitivul mobil este oprit brusc când clientul se afla pe o anumită pagină din aplicație. - Ce se întâmplă dacă Internetul se oprește în mijlocul încărcării unui document pe o aplicație etc. |
Salarii | SDET-urilor li se oferă în general salarii mai mari (cu 40-50% mai mari decât testerii manuali), datorită abilităților pe care le posedă și experienței pe care le au. | Rolurile pure de testare manuală au un salariu mai mic în comparație cu un rol hibrid, în care un tester manual se străduiește să învețe noi instrumente și să adauge valoare produsului livrat. |
Inginer de dezvoltare software în Test Skillset
Mai jos sunt enumerate seturile de competențe pe care trebuie să le dețină un SDET:
# 1) Deschideți mentalitatea
Primul și cel mai important set de competențe este că orice inginer de dezvoltare software din test ar trebui să fie deschis învățării oricărui limbaj / instrumente de scriptare care sunt necesare pentru a le permite să testeze amănunțit aplicația testată.
Este destul de probabil ca SDET într-o singură companie, să ajungeți să lucrați folosind stiva tehnică Microsoft / .NET, dar într-o altă companie, limbajul de dezvoltare este în principal Java - astfel SDET este de așteptat să aibă o mentalitate deschisă pentru a învăța lucruri noi / tehnologie ca și când este necesar.
# 2) Adaptiv
Un inginer de dezvoltare software în test trebuie să se adapteze nevoilor proiectului, instrumentelor și tehnologiilor, bazelor de date etc. De exemplu - ca SDET s-ar putea să aveți o experiență de testare API, dar un alt rol necesită să testați interfața de utilizare sau frontend. Prin urmare, rolul necesită să vă adaptați la nevoile proiectului, să livrați un produs standard de înaltă calitate.
# 3) Multitasker
La majoritatea companiilor de produse, de multe ori raportul DEV și QA se înclină într-o mare măsură. Aceasta înseamnă că este obișnuit să vezi echipele care au un raport DEV: QA de 4: 1 sau chiar 5: 1. Prin urmare, este imperativ ca un SDET să fie de așteptat să fie implicat în mai multe lucruri și să livreze.
Acestea sunt câteva responsabilități la care ar trebui să lucreze un SDET:
- Participați la întâlnirile părților interesate: un SDET trebuie să strâns legătura atât cu dezvoltatorii, cât și cu cei din produs, pentru a înțelege produsul atât din partea dezvoltatorilor, cât și din punctul de vedere al produsului și apoi elabora / sugera strategia de automatizare.
- Creați cadru / instrumente
- Strategizați planificarea testelor
- Ridicați / investigați defectele
- Uneori poate fi necesar să contribui la testarea unității împreună cu dezvoltatorii.
# 4) Mentalitate exploratorie
Fiecare SDET ar trebui să-și amintească aceste linii în orice moment - „ Dacă repetați aceleași acțiuni tot timpul, vă recomandăm să le automatizați '
Persoana ar avea o mentalitate de a reduce efortul pentru orice le vine în cale cu ajutorul instrumentelor pentru a spori productivitatea, precum și pentru a asigura produse software de înaltă calitate.
producător de diagrame gratuite pentru Mac
În plus față de toate lucrările de automatizare, misiunea principală a SDET este de a livra produse de înaltă calitate cu orice este nevoie, prin urmare, el / ea ar trebui să se concentreze și pe testarea produselor prin modalități exploratorii de a descoperi din ce în ce mai multe erori și defecte ascunse.
# 5) Colaborați, contribuiți și comunicați
Rolul SDET impune legătura între diferiți actori precum dezvoltatori, produse, testeri manuali etc.
Este important ca SDET-urile să colaboreze cu toate părțile interesate necesare, precum și să comunice toate detaliile necesare după cum este cazul.
Echipele SDET și QA dețin porțile de calitate pentru un produs înainte ca acesta să fie deschis publicului și, prin urmare, joacă un rol important în ceea ce privește considerarea unui produs potrivit pentru a fi lansat sau nu clienților.
Roluri si responsabilitati
Așadar, să încercăm să înțelegem, care sunt SDET-urile sarcinile și responsabilitățile zilnice și diferitele sarcini pe care trebuie să le îndeplinească.
- Lucrați alături de dezvoltatori, precum și de părțile interesate din afaceri și depuneți eforturi pentru a automatiza criteriile de acceptare. Acest lucru înseamnă, în cuvinte simple, că - un SDET înțelege mai întâi cerințele din perspectiva acceptării / clientului și, de asemenea, trebuie să înțeleagă modul în care produsul este dezvoltat în ceea ce privește limbajul de codare, bazele de date, etc. și apoi planifică o strategie pentru a automatiza scenarii maxime posibil .
- Responsabil de construirea de soluții robuste și de înaltă calitate pentru automatizarea testelor pentru testarea funcțională, de regresie și de performanță.
- Creați scripturi / instrumente reutilizabile ori de câte ori este necesar.
- Contribuiți la domeniile de testare atât funcționale, cât și nefuncționale. Testarea funcțională include testarea din perspectiva funcționalității / cerințelor și este în mare parte condusă de criteriile de acceptare sau de poveștile utilizatorilor.
Totuși, testarea nefuncțională este la fel de importantă. De exemplu, cât de performantă este aplicația, aplicația este suficient de sigură, asigurați-vă că nu mai rămân hackuri în aplicație care ar putea duce la împiedicarea securității aplicației și ar putea ajunge la pierderea atât a clienților, cât și a organizației. - De asemenea, participă la discuțiile de proiectare și proiectare arhitecturală, precum și oferă feedback eficient în recenziile de cod.
Deveniți un SDET grozav
Pentru a deveni un SDET extraordinar, să vedem câteva sfaturi / instrumente de bază și abilități tehnice care trebuie învățate pentru a se descurca mai bine în rolurile lor.
În secțiunea anterioară, am aflat despre calitățile pe care trebuie să le aibă un inginer de dezvoltare software în test pentru a deveni excelent în rolurile lor. Ei trebuie să aibă o mentalitate deschisă, să fie adaptivi și ar trebui să poată comunica, colabora și contribui în orice mod, așa cum este impus de produs sau echipă.
Să vedem o listă cu câteva instrumente și tehnologii comune pe care SDET trebuie să le învețe:
- Ar trebui să aibă o înțelegere solidă a principiilor de testare, a tipurilor de testare și a metodologiilor.
- Extrem de competent în problemele de depanare - învățați instrumentele de depanare cum ar fi - Depanator web Chrome care sunt extrem de utile pentru depanarea aplicațiilor web, precum și pentru investigarea jurnalelor de rețea pentru o aplicație supusă testului.
- Ar trebui să poată scrie coduri / scripturi reutilizabile și, prin urmare, ar trebui să fie competenți în cel puțin un limbaj de scriptare. Cel mai ușor de învățat este Python, care ar putea fi aplicat la o mare varietate de sarcini, cadre de automatizare etc.
- Familiarizați-vă cu clienții de testare API precum POŞTAŞ
- Ar trebui să fie conștienți de instrumentele și tehnicile de testare a cutiei albe - cum ar fi cadrele de batjocură ( Mockito ), etc, deoarece ar putea fi de așteptat să contribuie la scrierea testelor unitare, de asemenea, atunci când este necesar.
- Ar trebui să fie conștienți de instrumentele de versiune precum Merge . De asemenea, ar trebui să fie familiarizați cu conceptele de Trageți cererile , recenzii de coduri etc.
- Înțelegerea arhitecturii aplicațiilor web și a modelului general client-server.
- Ar trebui să fie conștienți de conceptele de bază de programare orientată pe obiecte și să înțeleagă SOLID model ( S responsabilitate SAU stilou / Principiu închis, L iskov Înlocuire, Eu segregare interfață, D inversiunea ependenței)
- Înțelegerea de bază a Integrare continuă / Livrare continua (CI / CD) și, de asemenea, ar trebui să fie conștienți de instrumentele CI, cum ar fi Jenkins / Bamboo etc.
În general, se așteaptă ca SDET-urile să se ocupe de problemele de implementare, de aceea înțelegerea acestor instrumente este imperativă. - Ar trebui să fie familiarizați cu cel puțin un cadru de automatizare front-end. Cel mai ușor și cel mai utilizat în Seleniu . Este sfântul graal al testelor front-end pentru aplicații web și aproape toate organizațiile folosesc cadrul Selenium pentru automatizarea testelor UI.
- Învățarea elementelor de bază ale testării performanței, precum și scrierea de scripturi simple folosind instrumente de testare a performanței open source, cum ar fi JMeter este foarte util și vă puteți referi la acest lucru Tutorial Jmeter . Acest lucru este util, deoarece SDET-urile se așteaptă, de asemenea, să aibă grijă de cerințele nefuncționale, cum ar fi testarea performanței.
- De asemenea, ar trebui să fie conștienți de conceptele fundamentale ale testării securității. Aceasta include, de asemenea, cunoașterea standardelor de codare de bază, care asigură că nu există defecte de securitate de bază rămase neacoperite în aplicație. OWASP este o mare referință pentru toate aceste concepte fundamentale.
- SDET-urile sunt așteptate să cunoască, să înțeleagă și să implementeze metodologii de dezvoltare agile și ar trebui să se simtă confortabil în lucrul cu echipele folosind metodologia Sprint / Scrum de agilitate.
- Ar trebui să fie conștient de oricine platforme de tehnologie cloud, cum ar fi - Amazon AWS , Google GCP , sau Microsoft Azure .
Deoarece majoritatea companiilor se mută acum către o infrastructură bazată pe cloud, înțelegerea de bază a instrumentelor și tehnologiilor cloud este, în general, utilă pentru a începe.
Certificare pentru SDET-uri
În general, nu există certificări specifice care sunt disponibile pentru SDET-uri
Dacă cineva dorește să-și înceapă inginerul de dezvoltare software în călătoria de testare, se poate concentra doar pe punctele menționate în secțiunea „Cum să devii un SDET grozav” din acest tutorial, iar apoi SDET-urile cu mentalitatea deschisă ar trebui să-și continue călătoria de învățare la lucru.
Pentru testarea terminologiei și elementelor de bază, este bine ca toți cei care fac parte din profesia de testare software să fie certificați cu Certificat de testare a fundației ISTQB .
Această certificare acoperă toate conceptele de bază de testare software cum ar fi,
- Tipuri de testare - funcționale / nefuncționale
- Testare cutie neagră / cutie albă / cutie gri
- Planificarea testelor / gestionarea defectelor
- Tehnici de testare - Partiționarea echivalenței, matricea de trasabilitate etc.
Există, de asemenea, alte certificări internaționale de testare a software-ului disponibile, dar cele mai multe dintre ele nu sunt criterii de selecție foarte importante pentru companiile care angajează SDET-uri.
Este disponibilă o listă cu toate aceste certificări Aici.
Interviuri
Cu majoritatea companiilor de produse mai mari, inginerul de dezvoltare software în interviul Test este mult mai mare în comparație cu cele cu interviuri cu dezvoltatorii, deoarece se așteaptă să cunoască majoritatea dezvoltării metodologiilor și a conceptelor conexe.
Cu toate acestea, interviurile sunt puțin îngăduitoare în comparație cu dezvoltatorii. Ceea ce se subliniază aici este modul în care candidatul abordează o problemă și cât de largă poate gândi o persoană despre problemă.
În general, interviurile SDET constau din următoarele runde / tipuri de întrebări la aproape toate organizațiile mari de produse precum - Amazon, Microsoft, Adobe, Expedia etc.
- Rundă scrisă: Scrierea cazurilor de testare pentru un anumit produs. Aici, intenția este să ne facem o idee despre cum poate gândi persoana toate aspectele testării despre candidat, dacă gândește / enumeră toate scenariile funcționale, scenariile de tip edge-case, candidatul se concentrează pe testarea securității, testarea performanței etc.
- Runda de codificare: Se face un mic exercițiu de codificare și, de asemenea, se așteaptă ca candidatul să noteze toate scenariile de testare unitară și funcțională. Aici zona sau abilitatea testată sunt - cunoștințe / constructe de bază de codificare, scrierea unui cod testabil și cunoștințe despre tehnicile de testare a cutiei albe, cum ar fi testarea unității, batjocura etc.
- Runda de proiectare: Se pune o întrebare de proiectare a sistemului, exemplu , cum ai proiecta YouTube
Acest tip de întrebări au, în general, mai multă relevanță pentru dezvoltatori, dar pentru SDET-uri, intervievatorul caută cât de larg poate gândi persoana respectivă, știe candidatul despre conceptele OOPs, este candidatul capabil să se gândească la scalabilitate, robustețe, echilibrarea sarcinii etc. , poate candidatul să utilizeze baze de date corecte pentru aplicația care urmează să fie proiectată - Runda HR / Manager: Aici se observă lucruri cum ar fi fitness-ul echipei, fitness-ul culturii, etc. despre candidat, precum și discuțiile salariale și se fac și negocieri.
Lectură recomandată => Întrebări de interviu SDET
Salariu SDET
După cum am discutat în secțiunile noastre anterioare, SDET-urile comandă salarii mai mari decât majoritatea rolurilor de testare manuală. În multe cazuri, salariile sunt comparabile cu cele cu dezvoltatori la un nivel de experiență similar.
Puteți face referire Aici pentru a afla despre gama de salarii la diferite profiluri SDET în diferite organizații. În general, salariul SDET diferă în funcție de banda de experiență, precum și de organizație.
Mai jos este o comparație a salariilor SDET pentru companii de top precum Microsoft, Expedia.
Nivel | Microsoft ($) | Expedia ($) |
---|---|---|
SDET - Eu | 65000 - 80000 | 60000 - 70000 |
SDET - II | 75000 - 11000 | 70000 - 100000 |
Domnule SDET | 100.000 - 150.000 | 90000 - 130.000 |
Carieră
În general, cariera SDET începe și crește în următorul mod:
- SDET-1 - SDET de nivel junior capabil să scrie scripturi de automatizare.
- SDET-2 - SDET cu experiență capabil să scrie instrumente reutilizabile și cadre de automatizare.
- Domnule SDET - SDET de nivel senior capabil să fie un contribuitor individual precum SDET 1 și SDET 2, dar este, de asemenea, capabil
- Efectuarea de recenzii de cod.
- Participați la discuțiile de proiectare și faceți sugestii pentru a avea modificări adecvate în proiectare.
- Participați la strategia generală de testare a produsului.
- Participați la modele de livrare CI / CD, creați conducte de execuție etc.
- Manager SDET - După SDET2, puteți alege Sr SDET sau SDET Manager Path. Un manager SDET are responsabilități de conducere / conducere, precum și pe lângă activitatea de bază SDET.
- Arhitect de testare / inginer de soluții - Arhitectul de testare sau inginerul de soluții este cineva care proiectează / arhitectează în general un cadru general pentru mai multe proiecte, încadrează specificațiile testelor, poate acționa și ca manager de livrare. Acești oameni sunt persoane fizice și ajută mai multe proiecte să își obțină rezultatele testelor și să livreze un produs foarte bine testat și fără defecte.
Iată o reprezentare la nivel de bloc a căii de carieră SDET:
Concluzie
În acest tutorial, am aflat în detaliu despre ceea ce este un SDET în ceea ce privește rolurile și responsabilitățile, abilitățile obligatorii, care este diferența dintre SDET-uri și testere manuale și ce este nevoie pentru a deveni un inginer de dezvoltare software excelent în test.
În general, SDET este un rol foarte solicitat și aproape toate companiile de produse bune au acest rol în echipele lor și sunt foarte apreciate.
Lectură recomandată
- Întrebări și răspunsuri la interviu SDET (Ghid complet)
- Cele mai bune 10 companii și servicii personalizate de dezvoltare de software în 2021
- Cele mai bune 20 de instrumente de dezvoltare software (2021 clasamente)
- Măsuri pentru SSDLC (Secure Software Development Cycle Life)
- Fazele, metodologiile, procesele și modelele SDLC (Ciclul de viață al dezvoltării software-ului)
- Dezvoltare software și metodologii de testare (cu argumente pro și contra)
- 5 lucruri pe care un dezvoltator începător (și un tester) ar trebui să le știe despre testarea software-ului
- 5 moduri de a fi un tester de software îndrăzneț și sigur