TESTY JEDNOSTKOWE W C Alicja Majka 259037 AGENDA

  • Slides: 23
Download presentation
TESTY JEDNOSTKOWE W C# Alicja Majka, 259037

TESTY JEDNOSTKOWE W C# Alicja Majka, 259037

AGENDA Wprowadzenie do środowiska Czym są testy jednostkowe i po co je stosować? XUnit,

AGENDA Wprowadzenie do środowiska Czym są testy jednostkowe i po co je stosować? XUnit, NUnit Pokrycie kodu – co to takiego? Zalety oraz wady Podsumowanie

WPROWADZENIE DO ŚRODOWISKA Mechanizm testów jednostkowych jest powiązany ze środowiskiem, z którego korzystamy. W

WPROWADZENIE DO ŚRODOWISKA Mechanizm testów jednostkowych jest powiązany ze środowiskiem, z którego korzystamy. W tym przypadku – Visual Studio 2013. Do Rozwiązania (Solution) dołączana jest dodatkowa klasa testowa. W tej klasie można stworzyć metody testowe. Korzystać będą z metod wcześniej utworzonych w danym Rozwiązaniu. We wcześniejszych wersji Visual Studio (2010) tworzenie testów jednostkowych dla danej klasy było wygodniejsze – zamiast dodawania osobnego pliku i tworzenia go od zera, testy były

WPROWADZENIE DO ŚRODOWISKA

WPROWADZENIE DO ŚRODOWISKA

WPROWADZENIE DO ŚRODOWISKA Trzeba utworzyć referencję do biblioteki z metodami testującymi, z których będą

WPROWADZENIE DO ŚRODOWISKA Trzeba utworzyć referencję do biblioteki z metodami testującymi, z których będą korzystały testy jednostkowe.

JEDNOSTKOWE I PO CO JE STOSOWAĆ? Testy jednostkowe – (ang. Unit Tests) to fragmenty

JEDNOSTKOWE I PO CO JE STOSOWAĆ? Testy jednostkowe – (ang. Unit Tests) to fragmenty kodu, które testują inny fragment kodu. Weryfikują poprawność działania pojedynczych elementów programu; metod, obiektów, procedur. Testowany fragment kodu poddawany jest testowi, który wykonuje go i porównuje wynik z oczekiwanymi wynikami.

JEDNOSTKOWE I PO CO JE STOSOWAĆ? Podczas dokonywania zmian w kodzie warto wiedzieć, że

JEDNOSTKOWE I PO CO JE STOSOWAĆ? Podczas dokonywania zmian w kodzie warto wiedzieć, że niczego się nie popsuło. Można stworzyć testy weryfikujące, czy urządzenie, z którego korzysta program jest poprawnie podłączone, skonfigurowane itp. (Kinect, Eye. Tracker ) Dzięki testom jednostkowym można wykryć brak obsługi wyjątków (dzielenie przez 0, wpisanie niepoprawnej wartości, przekazanie niewłaściwego typu do metody – brak rzutowania typów).

JEDNOSTKOWE I PO CO JE STOSOWAĆ?

JEDNOSTKOWE I PO CO JE STOSOWAĆ?

JEDNOSTKOWE I PO CO JE STOSOWAĆ?

JEDNOSTKOWE I PO CO JE STOSOWAĆ?

JEDNOSTKOWE I PO CO JE STOSOWAĆ? Uruchomienie testów jednostkowych w VS 2013

JEDNOSTKOWE I PO CO JE STOSOWAĆ? Uruchomienie testów jednostkowych w VS 2013

JEDNOSTKOWE I PO CO JE STOSOWAĆ?

JEDNOSTKOWE I PO CO JE STOSOWAĆ?

XUNIT, NUNIT XUnit oraz NUnit to dwie struktury (zbiory klas) do testowania kodu w

XUNIT, NUNIT XUnit oraz NUnit to dwie struktury (zbiory klas) do testowania kodu w środowisku. NET. Pakiety te składają się z zestawu klas bazowych umieszczonych w bibliotekach dll, które dołączamy do projektu za pomocą referencji oraz aplikacji uruchamiającej testy. Co jest lepsze? Niewiadomo. Jedni korzystają z XUnit, inni korzystają z NUnit.

PRZYKŁAD TESTU JEDNOSTKOWEGO

PRZYKŁAD TESTU JEDNOSTKOWEGO

PRZYKŁAD TESTU JEDNOSTKOWEGO

PRZYKŁAD TESTU JEDNOSTKOWEGO

PRZYKŁAD TESTU JEDNOSTKOWEGO

PRZYKŁAD TESTU JEDNOSTKOWEGO

PRZYKŁAD TESTU JEDNOSTKOWEGO

PRZYKŁAD TESTU JEDNOSTKOWEGO

TESTY JEDNOSTKOWE W C# Nie trzeba uruchamiać 10 razy jednego testu, kiedy mamy różny

TESTY JEDNOSTKOWE W C# Nie trzeba uruchamiać 10 razy jednego testu, kiedy mamy różny zestaw danych dla jednej metody SUMA. Można do tego wykorzystać pliki. xls (Excel), które są ładowane do Rozwiązania. Jak już wcześniej zauważono, można tak zbudować test, by dla konkretnych zmiennych oczekiwał konkretnego wyjątku. Robi się to w taki sposób:

POKRYCIE KODU – CO TO TAKIEGO? Pokrycie kodu – (ang. Code coverage) jest to

POKRYCIE KODU – CO TO TAKIEGO? Pokrycie kodu – (ang. Code coverage) jest to miara, która mówi, ile % kodu zostało sprawdzone za pomocą testów jednostkowych. Przyjęto, że dobrze napisane testy pokrywają około 70% napisanego kodu. Nie ma sensu „pokrywać” większej ilości kodu.

POKRYCIE KODU – CO TO TAKIEGO?

POKRYCIE KODU – CO TO TAKIEGO?

ZALETY ORAZ WADY Zalety: Raz napisany test można uruchomić kilka razy Można je wykonywać

ZALETY ORAZ WADY Zalety: Raz napisany test można uruchomić kilka razy Można je wykonywać na bieżąco (NCrunch – program służący do wykonywania testów, które aktualnie wymagają uruchomienia. Bardzo przydatny, niestety płatny) Możliwość przetestowania funkcjonalności bez uruchamiania całego oprogramowania Wady: Nieco pracochłonne – wygląda to tak, że trzeba napisać dwa kody – właściwy oraz testujący Nie każdy się do tego nadaje Są kosztowne czasowo, nużące

PODSUMOWANIE Tworzenie testów jednostkowych jest przydatne, ale też nie można z nimi przesadzać. Nie

PODSUMOWANIE Tworzenie testów jednostkowych jest przydatne, ale też nie można z nimi przesadzać. Nie powinno się tracić multum czasu na napisanie kilkuset linii kodu testującego, ale czasem trzeba. Nie dają 100% pewności, że testowy kod nie zawiera błędów. Kod testujący również może zawierać błędy, dlatego czasem trzeba pisać testy testów – czy to opłacalne?

ŹRÓDŁA WIEDZY Testy jednostkowe, MSDN https: //msdn. microsoft. com/pl-pl/library/testyjednostkowe-w-visual-studio. aspx Wykład z przedmiotu Narzędzia

ŹRÓDŁA WIEDZY Testy jednostkowe, MSDN https: //msdn. microsoft. com/pl-pl/library/testyjednostkowe-w-visual-studio. aspx Wykład z przedmiotu Narzędzia Programistyczne Wikipedia. org

KONIEC! Dziękuję za uwagę!

KONIEC! Dziękuję za uwagę!