Testowanie oprogramowania

Lab. 1 – 11.10. g. 9
Dodać projekt, w którym dodana jest metoda Divide dzieląca dwie liczby rzeczywiste, z obsługą wyjątków. Napisać testy jednostkowe dla tej metody np. w XUnit. Podobnie dla poniższej metody.

public bool IsAnagram(string s1, string s2)
{
if (s1.Length != s2.Length)
throw new Exception("Strings length is not equal");

if (s1 == s2)
return true;

var s1Array = s1.ToCharArray();
var s2Array = s2.ToCharArray();

Array.Sort(s1Array);
Array.Sort(s2Array);

s1 = new string(s1Array);
s2 = new string(s2Array);
return s1 == s2;
}

Lab. 1 – 18.10. g. 9
Dodać projekt, w którym dodana jest metoda wyliczająca sqrt z liczby, z obsługą wyjątków. Napisać testy jednostkowe dla tej metody w XUnit lub NUnit i MS Test.

Lab. 2 – 18.11. g.9
https://www.modestprogrammer.pl/jak-pozbywac-sie-zewnetrznych-zaleznosci-w-testach-jednostkowych-wprowadzenie-do-mockowania-danych-w-csharp

Uruchomić testy w NUnit Zrobić analogiczne w XUnit. Dodać obsługę sprawdzania (z mockowaniem w testach) blokowania usera po 3 niepoprawnych logowaniach i napisać do tego testy z mockowaniem.

Lab. 2 – 13.11. g.9
https://www.modestprogrammer.pl/jak-pozbywac-sie-zewnetrznych-zaleznosci-w-testach-jednostkowych-wprowadzenie-do-mockowania-danych-w-csharp

Uruchomić testy w NUnit Zrobić analogiczne w XUnit. Dodać obsługę sprawdzania czy login użytkownik jest w bazie i napisać do tego testy z mockowaniem.

Lab. 3 – 13.11 g.12. Narzędzia do testowania (obie grupy)

https://petstore.swagger.io/ lub inna strona testowa. Requesty z poziomu swaggera i Postmana lub/i Insomni.

Lab. 4. 22.11., 29.11 g. 9. Testy Rest API (obie grupy)

Napisać testy CRUD (sprawdzanie dodawania, pobierania danych, edycji, usuwania) dla Rest API np. Petstore, ProductService lub własnego (najlepiej w JS, ale język dowolny). Można korzystać z dowolnych narzędzi np. do generowania klienta API. Po teście ma nie być „śladu” w bazie. Po każdej zmianie danych sprawdzanie przez GET czy dane zapisały się właściwie.

Lab. 5. 06.12., 13.12 g. 9. Testy GUI (obie grupy)

Napisać testy GUI dla https://demoqa.com/automation-practice-form z wykorzystaniem Selenium, wypełnienie formularza, pozytywny scenariusz i negatywny.

Projekt

Bardziej zaawansowane testy GUI najlepiej dla własnej strony albo jakiejś bardziej zaawansowanej strony testowej.