Różnice między testem a specyfikacją

12

Mam w tej chwili problem koncepcyjny i nie mogę znaleźć żadnych informacji na temat różnic między testem (UnitTest, itp.) A specyfikacją (Rspec itp.).

O ile mi wiadomo, specyfikacja dotyczy testów integracyjnych, a test dotyczy UnitTest, ale tylko tyle.

Czy możesz wyjaśnić, jakie są różnice?

DFOXpro
źródło

Odpowiedzi:

12

Spójrz na poniższy schemat. Pokazuje związek między rozwojem testowym (TDD) a testowym rozwojem akceptacji (ATDD):

Schemat rozwoju oparty na testach akceptacyjnych

Zauważ, że wewnętrzna pętla TDD jest otoczona zewnętrzną pętlą ATDD. Wymagania (przedstawione za pomocą pola Kryteria akceptacji) napędzają tworzenie automatycznych testów akceptacyjnych, które z kolei napędzają tworzenie testów jednostkowych do wdrożenia.

Ogólnie rzecz biorąc, RSpec byłby używany w sytuacjach, w których chcesz wyrażać testy w sposób przyjazny dla analityka biznesowego, a mianowicie w tworzeniu automatycznych testów akceptacyjnych (tan tan); podczas gdy frameworki testów jednostkowych, takie jak nUnit, są bardziej wyspecjalizowane w tego rodzaju testach jednostkowych pisanych z perspektywy TDD dewelopera na poziomie implementacji (żółte kółko).

Robert Harvey
źródło
Dobrym przykładem jest tablica skrótów, która wymaga szczegółowych testów jednostkowych, ponieważ oczekuje się, że będzie działać dla wszystkich możliwych danych wejściowych, a nie tylko dla małego zestawu przykładów w testach akceptacyjnych. Jednak kod, który oblicza rabat dla „dobrego” klienta, prawdopodobnie zostanie dobrze uwzględniony w testach akceptacyjnych, więc może nie wymagać lub przeprowadzać kilka testów jednostkowych.
Ian
3

ok, mamy tutaj kilka różnych terminów, więc oto co się dzieje

  • Mamy testy jednostkowe. Inne poziomy to testy integracyjne, testy wydajności itp.
  • rspec może być używany do wielu z powyższych poziomów testowania, np. w odniesieniu do modeli, kontrolerów i widoków poprzez testy funkcji Capybara.
  • słowo „spec” pochodzi od specyfikacji, która jest sercem testu - określa coś.
  • rspec - framework używany do testowania przeglądarek agaist, często używany z aplikacjami Ruby on Rails.
  • pliki spec - plik rspec zwykle kończy się na _spec.rb i często nazywany jest plikami spec.
Michael Durrant
źródło