Leniwe systematyczne testy jednostkowe
Lazy Systematic Unit Testing to metoda testowania jednostek oprogramowania oparta na dwóch pojęciach leniwej specyfikacji , zdolności wnioskowania o ewolucji specyfikacji jednostki w locie za pomocą analizy dynamicznej oraz systematycznego testowania , zdolności do eksploracji i testowania jednostki przestrzeń stanów wyczerpująco do ograniczonych głębi. Zestaw narzędzi do testowania JWalk istnieje do obsługi leniwych, systematycznych testów jednostkowych w języku programowania Java .
Leniwa specyfikacja
Leniwa specyfikacja odnosi się do elastycznego podejścia do specyfikacji oprogramowania , w którym specyfikacja ewoluuje szybko równolegle z często modyfikowanym kodem. Specyfikacja jest wywnioskowana na podstawie półautomatycznej analizy prototypowej jednostki oprogramowania. Może to obejmować analizę statyczną (interfejsu urządzenia) i analizę dynamiczną (zachowania urządzenia). Analiza dynamiczna jest zwykle uzupełniana ograniczoną interakcją z programistą.
Termin leniwa specyfikacja został ukuty przez analogię do leniwej oceny w programowaniu funkcyjnym . Ta ostatnia opisuje opóźnioną ocenę wyrażeń podrzędnych, które są oceniane tylko na żądanie. Analogia dotyczy późnej stabilizacji specyfikacji, która ewoluuje równolegle ze zmieniającym się kodem, aż zostanie uznana za stabilną.
Systematyczne testowanie
Testowanie systematyczne odnosi się do pełnego podejścia do testowania zgodności z testowaniem oprogramowania , w którym testowana jednostka jest całkowicie zgodna ze specyfikacją, aż do założeń testowych. Kontrastuje to z eksploracyjnymi, niekompletnymi lub losowymi formami testowania. Celem jest zapewnienie powtarzalnych gwarancji poprawności po zakończeniu testów.
Przykłady systematycznych metod testowania obejmują metodę testowania Stream X-Machine i testowanie z podziałem równoważności z pełną analizą wartości granicznych .