Wiele rodzajów metod testowania oprogramowania
Testowanie Oprogramowania - 5 rzeczy, które musisz wiedzieć, zanim...
Spisu treści:
Zanim oprogramowanie się upubliczni, programiści spędzają godziny próbując wyeliminować każdy mały błąd. Dopóki produkt nie zaspokoi wszystkich interesariuszy, nie będzie dostępny do użytku komercyjnego.
Ogromne firmy produkujące oprogramowanie, takie jak Google, osiągają sukces pomimo błędów o niskim priorytecie w swoim oprogramowaniu, ponieważ mają cierpliwych inwestorów i lojalnych użytkowników. Mniejsze firmy i startupy nie mają jednak tego luksusu. Klienci oczekują, że produkty będą robić to, co twierdzą, na stronie sprzedaży lub w dokumentacji. Przy tak wielu opcjach nie zastanowią się dwa razy nad skokiem, jeśli produkt marnuje czas i pieniądze. Dlatego oprogramowanie przechodzi rygorystyczne testy przed wydaniem w celu:
- podkreśl różnice między oryginalną koncepcją a ostatecznym wynikiem
- sprawdź, czy oprogramowanie działa zgodnie z planem projektantów
- sprawdź, czy produkt końcowy spełnia wymagania klienta
- ocenić cechy i jakość
Testowanie przebiega zgodnie z rygorystycznym planem, aby zoptymalizować umiejętności personelu, czas i pieniądze, zapewniając jednocześnie zainteresowanym stronom istotne informacje, które pozwolą im przenieść produkt. Celem jest ułatwienie dobrego doświadczenia użytkownika końcowego poprzez silny program zapewnienia jakości.Dzięki tak wysokim stawkom menedżerowie QA należą do najlepiej zarabiających w branży technologicznej. Testowanie zazwyczaj wykonuje następujące kroki:
- Analiza wymagań, w której menedżerowie przedstawiają plan wprowadzenia odpowiedniej strategii testowej.
- Rozpoczynają się testy, a wyniki poddawane są analizie.
- Wszelkie usterki są korygowane, a oprogramowanie przechodzi testowanie regresji - system sprawdzający, czy program nadal działa po modyfikacjach.
- Raport zamknięcia testu szczegółowo opisuje cały proces i wyniki.
Osoby fizyczne mogą zostać certyfikowanymi testerami oprogramowania za pośrednictwem takich organizacji, jak BCS, The Chartered Institute for IT, ISTQB® (International Software Testing Qualifications Board) i ASQ (dawniej American Society for Quality).
Metody testowania oprogramowania
Testowanie czarnej skrzynki i białej skrzynki to dwie podstawowe metody oceny zachowania produktu i jego wydajności, ale istnieją również inne metody.
- Testowanie czarnej skrzynki: Ta metoda, zwana również testowaniem funkcjonalnym lub testowaniem specyfikacji, koncentruje się na wynikach. Testerzy nie są zainteresowani mechanizmami wewnętrznymi. Sprawdzają tylko, czy oprogramowanie robi to, co powinno. Znajomość kodowania nie jest konieczna, a testerzy pracują na poziomie interfejsu użytkownika.
- Testowanie białej skrzynki: Ta metoda wykorzystuje know-how w zakresie kodowania w ramach procedury testowej. Gdy produkt zawiedzie, testerzy zagłębiają się w kod tak głęboko, jak to konieczne, aby znaleźć przyczynę. Twórcy oprogramowania robią to sami, ponieważ określają, jak produkt powinien działać. Testy strukturalne i szklane to inne nazwy tej metody.
- Testowanie statyczne: Testerzy sprawdzają kod i dokumentację oprogramowania, ale nie wykonują programu. Testy statyczne rozpoczynają się na wczesnym etapie rozwoju produktu podczas procesu weryfikacji.
- Testowanie dynamiczne: Oprogramowanie jest wykonywane z różnymi wejściami, a testerzy porównują wyjścia z oczekiwanym zachowaniem za pomocą tej metody.
- Testowanie graficznego interfejsu użytkownika: Sprawdza to cechy interfejsu GUI, takie jak formatowanie tekstu, pola tekstowe, przyciski, listy, układ, kolory, czcionki, rozmiary czcionek itd. Testowanie GUI jest czasochłonne, a firmy zewnętrzne często podejmują się zadania zamiast programistów.
Poziomy testowe
Różne poziomy testowania są używane do identyfikacji obszarów słabych i nakładających się na siebie w każdej fazie cyklu życia oprogramowania.
- Testów jednostkowych: Programiści testują najbardziej podstawowe części kodu, takie jak klasy, interfejsy i funkcje / procedury. Wiedzą, jak powinien reagować ich kod i mogą dokonywać zmian w zależności od wyników.
- Testowanie komponentów: Inne nazwy to testowanie modułu lub programu. Jest podobny do testów jednostkowych, ale zawiera wyższy poziom integracji. Moduły oprogramowania są testowane pod kątem wad, aby zweryfikować ich indywidualną funkcję.
- Testy integracyjne: Identyfikuje błędy, gdy moduły są zintegrowane. Różne testy integracyjne to oddolne, odgórne i funkcjonalne przyrostowe.
- Testowanie systemu: Za pomocą tej metody komponenty projektu są testowane jako całość w różnych środowiskach. Podlega metodzie czarnej skrzynki i jest jednym z ostatnich testów w tym procesie. Określa, czy system działa tak, jak powinien, aby zaspokoić potrzeby biznesowe i użytkownika.
- Testy alfa: Wewnętrzny personel testuje oprogramowanie na stronie dewelopera w symulowanym lub rzeczywistym środowisku. Następnie programiści naprawiają błędy i inne problemy.
- Testowanie beta: Znane również jako testy terenowe, klienci testują produkt na własnych stronach w rzeczywistych warunkach. Klienci mogą zaoferować grupie użytkowników końcowych możliwość przetestowania oprogramowania w wersji wstępnej lub wersji beta. Opinie na temat możliwych ulepszeń są następnie przesyłane do programisty.
- Testy akceptacyjne: Również w ramach testów czarnej skrzynki klienci testują oprogramowanie, aby dowiedzieć się, czy programista stworzył program do żądanych specyfikacji.
Typy testów
Różne typy testów oprogramowania mają na celu skupienie się na konkretnych celach.
- Testowanie instalacji: Inżynier testujący oprogramowanie i menedżer konfiguracji przeprowadzają ten test, aby upewnić się, że użytkownik końcowy może zainstalować i uruchomić program. Obejmuje obszary takie jak pliki instalacyjne, miejsca instalacji i uprawnienia administracyjne.
- Testowanie rozwoju: Realizuje to szereg zsynchronizowanych strategii wykrywania i zapobiegania defektom. Obejmuje analizę kodu statycznego, recenzje kodu równorzędnego, identyfikowalność i analizę metryk. Celem jest zmniejszenie ryzyka i obniżenie kosztów.
- Test użyteczności: W tym teście doświadczenie użytkownika znajduje się w centrum uwagi. Mierzy, jak dobrze zaprojektowano GUI i jego łatwość użycia. Test sprawdza dokładność i skuteczność funkcji oraz reakcje emocjonalne badanych.
- Testowanie poczytalności: Wskazuje to, czy oprogramowanie jest warte czasu i kosztów, aby kontynuować dalsze testy. Jeśli jest zbyt wiele błędów, nie będą przeprowadzane bardziej agresywne testy.
- Testowanie dymu: Testy dymu ujawniają podstawowe awarie, które są na tyle poważne, że uniemożliwiają uwolnienie. Gdy jest to przeprowadzane na nowej kompilacji, nazywa się to testem weryfikacji kompilacji.
- Testowanie regresji: Gdy system ulega modyfikacji, testowanie regresji monitoruje nieoczekiwane zachowanie. Wskazuje niekorzystny wpływ na moduły lub komponenty.
- Niszczące testy: Testerzy wprowadzają nieprawidłowe wpisy i rozpoznają zdolność oprogramowania do zarządzania nieoczekiwanymi danymi wejściowymi. To pokazuje deweloperom, jak solidny jest program do zarządzania błędami.
- Testowanie odzyskiwania: W przypadku awarii sprzętu lub innych funkcji test ten pokazuje, jak dobrze oprogramowanie może odzyskać i kontynuować działanie.
- Automatyczne testowanie: Wykonuje to funkcje trudne do ręcznego wdrożenia. Wykorzystuje specjalne oprogramowanie do uruchamiania testów i dostarczania danych o rzeczywistych i oczekiwanych wynikach.
- Testy zgodności: Oprogramowanie musi działać w różnych środowiskach komputerowych, więc sprawdza zgodność z różnymi systemami. Na przykład, czy oprogramowanie działa z różnymi systemami operacyjnymi i przeglądarkami internetowymi?
- Test wydajności: Jest to dogłębny test, który bada wydajność oprogramowania w różnych scenariuszach. Gromadzone są informacje o reakcji, stabilności, alokacji zasobów i szybkości. Co więcej, podtesty takie jak objętość, pojemność i testowanie skoków odgrywają rolę w tym procesie.
- Testowanie bezpieczeństwa: Mierzy to zdolność oprogramowania do ochrony bezpieczeństwa użytkowników. Oznacza to funkcje autoryzacji, uwierzytelnianie, poufność, integralność, dostępność i niezaprzeczalność.
- Testy dostępności: To nie to samo, co testowanie użyteczności. Określa to, w jakim stopniu użytkownicy różnych umiejętności - w tym uczenia się i niepełnosprawności fizycznej - mogą korzystać z oprogramowania.
- Testowanie internacjonalizacji i lokalizacji: Wyniki pokazują, w jaki sposób oprogramowanie może dostosować się do różnych języków i wymagań regionalnych. Obejmuje to dodawanie komponentów do określonych lokalizacji i tłumaczenie tekstu.
Wiele wielkich nazwisk ma tu swój początek i pozostało
Jeśli zmierzasz do kariery menedżerskiej w handlu detalicznym, to dobry zakład, że skończysz w Kolorado.
Wiele rodzajów miejsc pracy w sprzedaży
Wymienienie wszystkich różnych typów i odmian karier sprzedaży byłoby prawie niemożliwe. Oto kilka z nich do rozważenia.
Lokalizacje testowania umiejętności Virginia CDL
Lista lokalizacji testów drogowych w Wirginii.