Czy testy funkcjonalne i testy integracyjne to to samo?
Rozpoczynasz testowanie od testów jednostkowych, a po zakończeniu testów jednostkowych przechodzisz do testów integracyjnych, podczas których testujesz system jako całość. Czy testowanie funkcjonalne to to samo, co testowanie integracyjne? Nadal bierzesz system jako całość i testujesz go pod kątem zgodności funkcjonalności.
Odpowiedzi:
Testowanie integracyjne ma miejsce, gdy testujesz więcej niż jeden komponent i jak one razem funkcjonują. Na przykład, jak inny system współdziała z twoim systemem lub baza danych współdziała z twoją warstwą abstrakcji danych. Zwykle wymaga to w pełni zainstalowanego systemu, chociaż w najczystszej postaci tak nie jest.
Testowanie funkcjonalne polega na testowaniu systemu pod kątem wymagań funkcjonalnych produktu. Kierownictwo produktu / projektu zwykle zapisuje te informacje, a kontrola jakości formalizuje proces tego, co użytkownik powinien zobaczyć i doświadczyć oraz jaki powinien być końcowy rezultat tych procesów. W zależności od produktu może to być zautomatyzowane lub nie.
źródło
Testowanie funkcjonalne :
Tak, testujemy produkt lub oprogramowanie jako całość funkcjonalnie, czy działa poprawnie, czy nie (testowanie przycisków, linków itp.)
Na przykład: strona logowania.
podajesz nazwę użytkownika i hasło, sprawdzasz, czy prowadzi do strony głównej, czy nie.
Testowanie integracji :
Tak, testujesz tylko zintegrowane oprogramowanie, ale sprawdzasz, gdzie odbywa się przepływ danych i czy w bazie danych zachodzą jakieś zmiany.
Na przykład: wysyłanie wiadomości e-mail
Wysyłasz do kogoś jedną wiadomość, jest przepływ danych i zmiana w bazie danych (wysłana tablica zwiększa wartość o 1)
Pamiętaj - klikanie linków i obrazów nie jest testowaniem integracji. Mam nadzieję, że zrozumiałeś dlaczego, ponieważ po kliknięciu linku w bazie danych nie ma żadnej zmiany.
Mam nadzieję, że ci to pomogło.
źródło
Testowanie funkcjonalne: jest to proces testowania, w którym testowany jest każdy komponent modułu. Np .: Jeśli strona internetowa zawiera pole tekstowe, przycisk radiowy, przyciski i rozwijane itp. Elementy, które należy sprawdzić.
Testowanie integracji: proces, w którym sprawdzany jest przepływ danych między 2 modułami.
źródło
To ważne rozróżnienie, ale niestety nigdy się nie uda. Problem polega na tym, że większość programistów definiuje je z własnego punktu widzenia. Jest to bardzo podobne do debaty nad Plutonem. (Gdyby była bliżej Słońca, czy byłaby to planeta?)
Testowanie jednostkowe jest łatwe do zdefiniowania. Testuje CUT ( testowany kod ) i nic więcej. (No cóż, tak mało więcej, jak to możliwe.) To oznacza kpiny, podróbki i instalacje.
Na drugim końcu spektrum znajduje się to, co wielu ludzi nazywa testowaniem integracji systemów . To testowanie tak dużo, jak to możliwe, ale wciąż szukasz błędów we własnym CUT.
Ale co z ogromną przestrzenią pomiędzy nimi?
time()
lubrand()
? A co jeśli zadzwoniszhttp://google.com
? Nazwałbym to testowaniem systemu , ale znowu jestem sam.Dlaczego to ma znaczenie? Ponieważ testy systemu są zawodne. Są konieczne, ale czasami zawodzą z przyczyn od Ciebie niezależnych. Z drugiej strony testy funkcjonalne powinny zawsze przechodzić, a nie kończyć się niepowodzeniem; jeśli są szybkie, mogą być równie dobrze używane od samego początku, aby używać programowania sterowanego testami bez pisania zbyt wielu testów do wewnętrznej implementacji. Innymi słowy, myślę, że testy jednostkowe mogą sprawiać więcej kłopotów niż są warte, a ja mam dobre towarzystwo .
Testuję na 3 osiach, ze wszystkimi zerami na testach jednostkowych :
Test może z łatwością obejmować wszystkie 3, w różnym stopniu.
źródło
Powiedziałbym, że oba są ze sobą ściśle powiązane i bardzo trudno je rozróżnić. Moim zdaniem testowanie integracyjne jest podzbiorem testów funkcjonalnych.
Testowanie funkcjonalności opiera się na otrzymanych początkowych wymaganiach. Będziesz testować zachowanie aplikacji zgodnie z oczekiwaniami z wymaganiami.
Jeśli chodzi o testowanie integracji, jest to interakcja między modułami. Jeśli moduł A wysyła wejście, moduł B może je przetworzyć lub nie.
źródło
Testowanie integracyjne - Testowanie integracyjne to nic innego jak testowanie różnych modułów. Musisz przetestować relacje między modułami. Na przykład po otwarciu Facebooka, po wprowadzeniu identyfikatora logowania i hasła zobaczysz stronę logowania, możesz zobaczyć stronę główną facebooka, stąd strona logowania to jeden moduł, a strona główna to inny moduł. musisz zaznaczyć tylko relację między nimi oznacza, że po zalogowaniu się musi być otwarta tylko strona główna, a nie okno wiadomości ani cokolwiek innego. Istnieją 2 główne typy testów integracji, podejście od góry do dołu i podejście od dołu do góry.
Testowanie funkcjonalne - W testowaniu funkcjonalnym musisz myśleć tylko o danych wejściowych i wyjściowych. W takim przypadku musisz myśleć jak prawdziwy użytkownik. Testowanie wprowadzonych danych wejściowych i uzyskanych wyników to Testowanie funkcjonalne. musisz tylko obserwować wyjście. W testach funkcjonalnych nie musisz testować kodowania aplikacji lub oprogramowania.
źródło
W testerze funkcjonalnym tester skupia się tylko na funkcjonalności i podfunkcjonalności aplikacji. Funkcjonalność aplikacji powinna działać poprawnie lub nie.
W testach integracyjnych tester musi sprawdzić zależności pomiędzy modułami lub podmodułami, np. Rekordy modułów powinny być pobierane i poprawnie wyświetlane w innym module.
źródło
Test integracji: - Po zakończeniu testów jednostkowych i rozwiązaniu problemów związanych z komponentami pokrewnymi wszystkie wymagane komponenty muszą zostać zintegrowane w ramach jednego systemu, aby mógł wykonać operację. Po połączeniu komponentów systemu, aby sprawdzić, czy system działa poprawnie, czy nie, ten rodzaj testowania nazywa się testowaniem integracji.
Testy funkcjonalne: - Testowanie jest głównie podzielone na dwie kategorie: 1. Testowanie funkcjonalne 2. Testowanie niefunkcjonalne ** Testowanie funkcjonalne: - Testowanie, czy oprogramowanie działa zgodnie z wymaganiami użytkownika, czy nie. ** Testy niefunkcjonalne: - Aby sprawdzić, czy oprogramowanie spełnia kryteria jakości, takie jak test warunków skrajnych, test bezpieczeństwa itp.
Zwykle Klient dostarcza wymagania tylko dla Testu funkcjonalnego, a dla Testu niefunkcjonalnego. Wymagania nie powinny być wymieniane, ale aplikacja musi wykonywać te czynności.
źródło
Testy integracyjne
Testy funkcjonalności
źródło
Sprawdzanie funkcjonalności aplikacji jest ogólnie znane jako testowanie funkcjonalne, gdzie testowanie integracyjne polega na sprawdzeniu przepływu danych z jednego modułu do drugiego. Weźmy przykład aplikacji do przelewów. Załóżmy, że mamy stronę, na której wprowadzamy wszystkie dane uwierzytelniające i jeśli wciśniemy przycisk przelewu, a potem, jeśli odniesiemy jakiś sukces, to jest to test funkcjonalny. Ale w tym samym przykładzie, jeśli zweryfikujemy przelew kwotowy, jest to test integracyjny.
źródło
Autorzy bardzo się w tej kwestii różnią. Nie wierzę, że istnieje „” poprawna interpretacja tego. To naprawdę zależy.
Na przykład: większość programistów Rails traktuje testy jednostkowe jako testy modelowe, testy funkcjonalne jako testy kontrolerów, a testy integracji jako te, które używają czegoś takiego jak Capybara do eksploracji aplikacji z perspektywy użytkownika końcowego - to znaczy poruszania się po wygenerowanym HTML strony, używając DOM sprawdzić oczekiwania.
Istnieją również testy akceptacyjne, które z kolei są "na żywo" dokumentacją systemu (zwykle używają korniszona, aby umożliwić pisanie tych w języku naturalnym), opisując wszystkie funkcje aplikacji za pomocą wielu scenariuszy, które z kolei są zautomatyzowane przez programistę. Te, IMHO, można również uznać za testy funkcjonalne i testy integracyjne.
Kiedy zrozumiesz kluczową koncepcję każdego z nich, będziesz bardziej elastyczny w kwestii dobra lub zła. Tak więc, ponownie IMHO, test funkcjonalny można również uznać za test integracyjny. W przypadku testu integracyjnego, w zależności od rodzaju integracji, który jest wykonywany, może nie być rozważany jako test funkcjonalny - ale generalnie podczas pisania testu integracyjnego masz na myśli pewne wymagania, więc przez większość czasu można go również rozważyć jako test funkcjonalny.
źródło