/ / Skuteczne testowanie rozwiązań programistycznych dla wielu studentów - c ++, testowanie jednostkowe, testy automatyczne

Efektywne testowanie wielu programów studenckich - c ++, testowanie jednostkowe, testy automatyczne

W ramach mojego wykładu w C ++ studenci będąmuszą rozwiązywać zadania. Każde rozwiązanie powinno realizować te same funkcje o tej samej funkcjonalności i tych samych parametrach (nazwa funkcji, wartość zwracana, parametry przekazywania). Tylko kod wewnątrz jest inny.

Więc myślę o sposobie przetestowania wszystkich rozwiązań(około 30) w skuteczny sposób. Być może najlepszym sposobem jest napisanie testu jednostkowego, a także skryptu powłoki (lub czegoś podobnego), który kompiluje każde rozwiązanie z testem jednostkowym i uruchamia go.

Ale może jest inne i znacznie lepsze rozwiązanie tego problemu.

Odpowiedzi:

1 dla odpowiedzi № 1

Powód, dla którego testy jednostkowe są jednym z najbardziejSkuteczne typy zautomatyzowanych testów są takie, że zwrot inwestycji jest stosunkowo niewielki (w porównaniu z innymi rodzajami testów), więc dla mnie sensowne jest napisanie zestawu testów weryfikacyjnych.

Możesz nawet posunąć się tak daleko, aby dać uczniompakiet testowy zamiast specyfikacji napisanej prozą. Mogłoby to wprowadzić je w koncepcję rozwoju opartego na testach (chociaż zazwyczaj tworzymy testy iteracyjnie, a nie w partiach).


1 dla odpowiedzi nr 2

tak, testy jednostkowe są oczywistym rozwiązaniem w większości przypadków.

Ostrzeżenia kompilatora i analiza statyczna są również przydatne.

czas wykonania programu przy danym zestawie parametrów to kolejna dość zautomatyzowana opcja - zależy od tego, co jesteś zainteresowany oceną.

tworzenie klas bazowych z dobrą diagnostyką(które możesz zamienić implementacją do oceny, jeśli wolisz) to inna opcja. możesz także zapewnić interfejsy, z których muszą korzystać, i posiadać dwie implementacje. następnie normalnie korzystaj z programów, korzystając z implementacji diagnostycznej. to zależy od tego, czego szukasz.


0 dla odpowiedzi № 3

Może brakuje mi czegoś oczywistego, ale czy nie wystarczyłoby uruchomić kod kilka razy z wartościami parametrów testu brzegowego?