Uwaga redakcyjna: Witamy w serii „Przywództwo w testowaniu” autorstwa guru i konsultanta w dziedzinie testowania oprogramowania, Paula Gerrarda. Seria ma pomóc testerom z kilkuletnim doświadczeniem — szczególnie tym pracującym w zespołach zwinnych — odnieść sukces w rolach liderów testów i menedżerów.
Ten artykuł zaczyna się od podstaw: na czym właściwie polega testowanie oprogramowania? Poznasz podstawowe koncepcje testowania oprogramowania, które ukształtują Twój sposób myślenia, gdy będziesz zgłębiać sztukę i naukę inżynierii jakości.
Zapisz się do newslettera The QA Lead, aby otrzymywać powiadomienia o publikacji kolejnych części serii — i lepiej poznać kurs „Przywództwo w testowaniu” Paula. Jeśli to zrobisz, użyj naszego ekskluzywnego kodu kuponu QALEADOFFER, aby uzyskać 60 USD zniżki na kurs!
Gdy jesteś menedżerem ds. testów w projekcie, bardzo prawdopodobne jest, że ludzie uznają Cię za eksperta we wszystkich kwestiach związanych z testowaniem. Inni członkowie zespołu prawdopodobnie będą mieli własne, dobrze ugruntowane lub ekscentryczne poglądy na temat testowania; niektórzy mogą mieć (albo przynajmniej twierdzić, że mają) większe doświadczenie niż Ty.
Oczekiwania wobec testowania są często nierealistyczne, a nawet doświadczeni ludzie przyjmują uproszczone stanowiska dotyczące tego, co testowanie może osiągnąć. Niektórzy będą wątpić w Twoje kompetencje, wartość dla zespołu, a nawet w Twoje motywacje. To może być trudne.
W swojej karierze związanej z zarządzaniem testami będziesz musieć dostosowywać się do nowych i zmieniających się okoliczności. Będziesz mieć do czynienia z interesariuszami biznesowymi i wyższego szczebla projektu. Dołączysz do zespołów różnej wielkości, złożonych z różnych osób o bardzo zróżnicowanym pochodzeniu. Mogą mieć rozległe doświadczenie albo — tak naprawdę — niewielkie.
Twoja rola może obejmować testowanie, kierowanie dużym zespołem, nadzorowanie testowania w projekcie, doradzanie zespołowi zwinnemu albo ustalanie, jak testowanie wpisuje się w model ciągłego dostarczania.
Zanim zaczniemy używać terminów takich jak testowanie, interesariusz i cele interesariuszy, powinniśmy dokładnie wyjaśnić, o czym mówimy.
Definicja „testu”
Słowo „test” jest używane jako rzeczownik i czasownik. Odnosi się do testowania jako czynności oraz do rezultatu tej czynności. Dotyczy osób lub organizacji, które zlecają tę czynność, oraz tych, którzy korzystają z jej wyników. W dużej mierze dotyczy także osób nazywających siebie testerami oraz złożonych systemów, nad którymi pracujemy.
Jeśli mamy mówić o testowaniu niezależnym od kontekstu, potrzebujemy definicji testu niezależnej od kontekstu, dlatego sprawdziłem definicję słowa „test” na stronie dictionary.com. Spośród wielu stron zawierających odniesienia do słowa „test” i jego zastosowań w różnych dziedzinach najbardziej odpowiednia jest definicja ze słownika American Heritage:
Test: (rzeczownik) procedura krytycznej oceny; sposób ustalenia obecności, jakości lub prawdziwości czegoś; próba
Nie istnieje tylko jedna definicja; są raczej trzy jej warianty. Cóż, moim zdaniem nie jest to takie złe, ponieważ wszystkie trzy razem dają nam potrzebne podstawy. Przyjrzyjmy się bliżej każdej z nich.
Have an account? Log In
Procedura krytycznej oceny
Krytyczna ocena obejmuje umiejętne osądzenie prawdziwości lub wartości czegoś. Test jest procedurą, zwykle składającą się z szeregu kroków, które obejmują pewną formę przygotowania, wykonania, zebrania wyników, analizy i interpretacji. Nie jest to wyczerpujący opis procedury testowej. Kroków może być więcej, a każdy z tych głównych kroków można dodatkowo podzielić.
Procedura niekoniecznie wymaga przygotowanej dokumentacji, ale niektóre testy są w ten sposób dokumentowane (a testy automatyczne zawsze są w jakiś sposób zapisane w skryptach). Najważniejsze jest to, że u podstaw testu leży wnikliwy proces myślowy.
Ten proces myślowy wynika z potrzeby oceny testowanego systemu pod kątem jego adekwatności, spójności, zachowania, dokładności, niezawodności lub dowolnego innego istotnego aspektu bądź właściwości.
Sposób ustalenia obecności, jakości lub prawdziwości czegoś
Test może z łatwością ustalić obecność (lub brak) czegoś, ale jakość to inna kwestia: termin ten jest obciążony emocjonalnymi skojarzeniami, jednak z pomocą przychodzi nam ten sam słownik. Jakość może być „istotną lub wyróżniającą cechą, właściwością albo atrybutem”. Teraz widzimy, że test może ujawnić te właściwości.
Zauważ, że nie używam terminu „jakość” do opisania relacji między użytkownikiem lub interesariuszem a produktem. Jakość jest jak piękno — zależy od oka użytkownika. Nie daj się wciągnąć w dyskusje o tym, jak mierzyć jakość (za pomocą testowania). Zwykle całkowicie unikam słowa na „j”.
Zauważ, że nie używam terminu „jakość” do opisania relacji między użytkownikiem lub interesariuszem a produktem. Jakość jest jak piękno — zależy od oka użytkownika. Nie daj się wciągnąć w dyskusje o tym, jak mierzyć jakość (za pomocą testowania). Zwykle całkowicie unikam słowa na „j”.
Czy test może określić prawdziwość czegoś? Cóż, to również ma sens. Zazwyczaj musimy przetestować stwierdzenie takie jak „ten system spełnia określone wymaganie”, „ten system zachowuje się w określony sposób” lub „ten system jest akceptowalny” i tak dalej. Wiąże się z tym pewna doza subiektywnej oceny, ale widzimy, że test lub testy mogą dostarczyć komuś dowodów pozwalających na dokonanie takiej oceny i podjęcie decyzji.
Próba
Pojęcie próby zakłada, że proces testowania systemu pomoże nam ocenić ten system pod względem jego właściwości. Celem takiej oceny jest zazwyczaj podjęcie decyzji.
Decyzją może być zaakceptowanie lub odrzucenie systemu, ale może nią być również ujawnienie jego niedociągnięć, aby można było je w jakiś sposób naprawić. Test może także skłonić osobę lub organizację do zmiany kierunku działania – ponownego przemyślenia projektu; złagodzenia lub zmiany wymagania; odrzucenia komponentu i rozpoczęcia prac od nowa; zakupu zamiast budowania lub budowania zamiast zakupu.
Naturalnym sposobem postrzegania testowanego systemu jest uznanie, że jest on poddawany próbie i zostanie w jakiś sposób oceniony.
More Articles
Definicja testowania
Z naszej definicji rzeczownika „test” możemy z łatwością wyprowadzić czasownik.
Testować: (czasownik) poddawać krytycznej ocenie; określać obecność, jakość lub prawdziwość czegoś; przeprowadzać próbę.
Jak dotąd wszystko dobrze.
Ale tak naprawdę nie do końca. Niestety branża testowania boryka się z problemami terminologicznymi. Nie ma sposobu, aby przedstawić tutaj jednoznaczny glosariusz. W swoich projektach, aby uniknąć nieporozumień, sugeruję pytać o cel każdego zdefiniowanego rodzaju testu, zamiast polegać na założonej definicji, która miałaby go wyjaśnić.
Popularne rodzaje testów, o których usłyszysz
Przedstawienie samouczka dotyczącego każdego z tych rodzajów testowania oprogramowania wykracza poza zakres tego artykułu, ale jako tester oprogramowania usłyszysz wiele o następujących rodzajach testów (o niektórych z nich prawdopodobnie już czytałeś):
- Testowanie czarnoskrzynkowe
- Testowanie regresji
- Testowanie jednostkowe
- Testowanie beta
- Testowanie manualne
- Testowanie automatyczne lub automatyzacja testów
- Testowanie końcowe
- Testowanie obciążeniowe
- Testowanie bezpieczeństwa
- Testowanie wydajności
- Testowanie białoskrzynkowe
- Testowanie akceptacyjne
- Testowanie integracyjne
- Testowanie obciążenia
- Testowanie systemowe
- Testowanie niefunkcjonalne
Niezależnie od tego, o jakim rodzaju testu mówisz, radzę zawsze pytać o cel testu, nawet jeśli jego nazwa wydaje się powszechnie przyjęta, na przykład test jednostkowy lub testowanie akceptacyjne. Interpretacja znaczenia tych pojęć może różnić się w zależności od zespołu.
Zapisz się do newslettera The QA Lead, aby otrzymywać powiadomienia o publikacji kolejnych części serii — i dowiedzieć się więcej z kursu Paula Przywództwo w testowaniu. Jeśli to zrobisz, użyj naszego ekskluzywnego kodu kuponu QALEADOFFER, aby otrzymać 60 USD zniżki na kurs!
Powiązany artykuł: 7 PODSTAWOWYCH NARZĘDZI INŻYNIERII JAKOŚCI I DLACZEGO ICH POTRZEBUJESZ


