Chyba twoja koncepcja testów jednostkowych nie jest poprawna. Technicznie rzecz biorąc, "testowanie jednostkowe" to metoda weryfikacji i walidacji oprogramowania, w której programista sprawdza, czy poszczególne jednostki kodu źródłowego są odpowiednie do użycia. Jednostka jest najmniejszą testowalną częścią aplikacji. W programowaniu proceduralnym jednostka może być indywidualną funkcją lub procedurą, aw Programowaniu obiektowym może to być metoda klasy.
To, co chcesz zrobić, to w zasadzie "robienie mniejszych programów w pierwszej kolejności, a następnie stopniowe ich komplikowanie (i oczywiście podczas nauki programowania)". Ten typ tworzenia oprogramowania "zaczyna się od prostszych, a następnie stopniowo go komplikuje" jest technicznie nazywany "prototypowaniem oprogramowania". Oto jego definicja:
"Prototypowanie oprogramowania, działanie podczas pewnego rozwoju oprogramowania, polega na tworzeniu prototypów, tj. Niepełnych wersji opracowywanego oprogramowania. Prototyp zazwyczaj symuluje tylko kilka aspektów funkcji końcowego programu i może być zupełnie inny niż ewentualna implementacja. Konwencjonalnym celem prototypu jest umożliwienie użytkownikom oprogramowania ocenienie propozycji programistów dotyczących projektu końcowego produktu poprzez rzeczywiste wypróbowanie ich, zamiast interpretowania i oceny projektu na podstawie opisów. Prototypowanie może być również wykorzystywane przez użytkowników końcowych do opisywania i potwierdzania wymagań, których deweloperzy nie uwzględnili, więc "kontrolowanie prototypu" może być kluczowym czynnikiem w relacjach handlowych między dostawcami rozwiązań a ich klientami. "
Z drugiej strony hand, Unit Testing to tylko jedna z metodologii "Testowania Oprogramowania", która nie jest częścią początku rozwoju oprogramowania, jest wykonywana na końcu, gdy został utworzony dość duży program i dla zapewnienia każdej części (tj. takie jak funkcje, procedury, metody klasowe itp.) działają poprawnie, testowanie jednostek nie może być wykorzystywane do oparcia rozwoju oprogramowania, ponieważ na końcu, jeśli wyniki testów jednostkowych na "dowolny element ma błąd", oznacza to, że całe oprogramowanie jest błędne, podczas gdy jeśli Testowanie jednostek mówi "wszystkie kawałki nie zawierają błędów, to nie znaczy, że całe oprogramowanie jest błędne e "ponieważ mogą wystąpić pewne błędy w integracji tych elementów lub nie można oczekiwać, że testowanie jednostek wykryje każdy błąd w programie: niemożliwe jest oszacowanie każdej ścieżki wykonania we wszystkich, oprócz najbardziej trywialnych programach. To samo dotyczy testów jednostkowych. Dodatkowo testowanie jednostkowe z definicji sprawdza jedynie funkcjonalność samych jednostek. W związku z tym nie będzie wychwytywał błędów integracji lub szerszych błędów na poziomie systemu (takich jak funkcje wykonywane w wielu jednostkach lub niefunkcjonalne obszary testowe, takie jak wydajność). Testowanie jednostkowe musi odbywać się w połączeniu z innymi czynnościami testowania oprogramowania. Podobnie jak wszystkie formy testowania oprogramowania, testy jednostkowe mogą jedynie wykazać obecność błędów; nie mogą pokazać braku błędów.
Aby uzyskać zamierzone korzyści z testów jednostkowych, w całym procesie tworzenia oprogramowania wymagana jest rygorystyczna dyscyplina. Konieczne jest zachowanie dokładnych zapisów nie tylko wykonanych testów, ale także wszelkich zmian, które zostały wprowadzone w kodzie źródłowym tego lub jakiegokolwiek innego urządzenia w oprogramowaniu. Konieczne jest zastosowanie systemu kontroli wersji. Jeśli późniejsza wersja urządzenia nie przejdzie pomyślnie przez test, który wcześniej przeszedł, oprogramowanie kontroli wersji może dostarczyć listę zmian kodu źródłowego (jeśli istnieją), które zostały zastosowane do urządzenia od tego czasu.
Niezbędne jest również wdrożenie zrównoważonego procesu zapewniającego codzienne sprawdzanie niepowodzeń przypadków testowych i natychmiastowe ich rozwiązywanie. Jeśli taki proces nie zostanie wdrożony i nie zostanie uwzględniony w obiegu pracy zespołu, aplikacja będzie ewoluować niezsynchronizowana z zestawem testów jednostkowych, zwiększając liczbę fałszywych alarmów i zmniejszając skuteczność zestawu testów.
Mam nadzieję, że teraz lepiej rozumiesz termin "testowanie jednostek". A czego chcesz się nauczyć przez "prototypowanie oprogramowania". Cóż, jeśli chodzi o uczenie się, możesz wybrać dowolny sposób, np. a) Przed rozpoczęciem kodowania przeczytaj wiele programów. b) Po prostu przeczytaj kilka podstawowych tematów dowolnego języka programowania i zacznij tworzyć prostsze programy, a następnie spraw, aby były bardziej złożone i zawierały większą wiedzę.
Wariant (a) zajmuje mniej czasu, aby dostać się na drodze biegłego, a także nie jest mniejsza szansa na przyjęcie niewłaściwych praktyk, które mogą wystąpić podczas „programowania samokształcenia”
Option (b) zajmuje więcej czasu abyś był na drodze eksperta, ale być może wymyślisz własny styl programowania i może stać się tak dobry, jak (jeśli nie lepszy) styl programowania innego eksperta.
POLECAM, NIE WYBIERAJ TYLKO JEDEN SPOSÓB powyżej wymienionych opcji (a) lub (b). WYKORZYSTAJ MIESZANKĘ OBU I ROZPOCZNIJ Z OPCJĄ (a).
Happy Programming!Witamy w Crazy Community!
Z punktu widzenia inżynierii oprogramowania? Z perspektywy studenta informatyki? Z perspektywy hobbystów? – Alex
Testowanie jednostki! = TDD. Są to dla mnie różne koncepcje. –
Czy zadajesz pytanie w tytule lub treści? To dwie różne rzeczy. –