Pytania otagowane jako tdd

TDD oznacza Test-Driven Development lub Test-Driven Design. Jest to praktyka pisania testu jednostkowego przed napisaniem kodu, aby go spełnić, w tak zwanym cyklu Refaktora Czerwono-Zielonego.

2
Czy są jakieś badania naukowe przeprowadzone na TDD, które wykorzystują całkowity koszt posiadania produktu jako miarę?
Kiedy czytałem streszczenie poprzedniej pracy w Dogsa T, Batic D. Skuteczność rozwoju opartego na testach: studium przypadku przemysłowego. Software Quality Journal. 2011; 19 (4): 643–661. Uderzyło mnie, że pomiary stosowane w wielu badaniach wokół TDD opierają się na liniach kodu, defektach i czasie poświęcanym na rozwój. Czy istnieją jakieś badania, …

4
Czy „oczywista implementacja” TDD oznacza najpierw kod, a potem test?
Mój przyjaciel i ja jesteśmy stosunkowo nowymi TDD i spieramy się o technikę „Oczywistej implementacji” (z „TDD według przykładu” Kent Beck). Mój przyjaciel mówi, że oznacza to, że jeśli implementacja jest oczywista, należy ją napisać - przed jakimkolwiek testem na to nowe zachowanie. I rzeczywiście książka mówi: Jak wdrażasz proste …
11 tdd 

6
Czy naprawdę musisz najpierw wykonać test BDD / TDD?
Mimo że nie brałem udziału w projekcie TDD ani BDD, lub w niektórych z nich mówi się, że robią TDD, ale są dość dalekie, to są rzeczy, o których myślę i naprawdę staram się czytać jak najwięcej o. Powrót do pytania Kiedy robisz BDD, powinieneś najpierw napisać swój „test” i …
11 unit-testing  tdd 


4
Co to są testy jednostkowe czarnej skrzynki?
Niedawno zdałem ostatni egzamin na kurs inżynierii oprogramowania dla mojego programu magisterskiego i jedno z pytań na egzaminie było następujące: Unit Testing is considered: a. White-box Testing b. Black-box Testing c. Either W ciągu moich 7 lat doświadczenia w tworzeniu oprogramowania, testy jednostkowe zawsze przyjmowały podejście „białej skrzynki”. Tester zawsze …

7
Jak zastosować TDD do funkcji odczytu / zapisu?
Wygląda na problem z kurczakiem i jajkami. Możesz zmusić funkcję zapisu do zapisu w jakimś magazynie danych, ale nigdy nie wiesz, że zapisałeś ją poprawnie bez przetestowanej funkcji odczytu. Możesz zrobić funkcję odczytu z magazynu danych, ale jak umieścić rzeczy w tym magazynie danych, aby można je było czytać bez …
10 tdd  io 

3
Podejście TDD do problemów algorytmicznych
Jeden z nich nie zdał testu algorytmicznego z Codility, ponieważ próbowałem znaleźć lepsze rozwiązanie, a ostatecznie nie miałem nic. Więc pomyślałem, czy mógłbym zastosować podejście podobne do TDD? Tj. Czy zazwyczaj mogę stopniowo opracować rozwiązanie w podobny sposób? Gdybym pisał algorytm sortowania, mógłbym przejść ze standardowego Bubblesorta do dwukierunkowego bąbelkowego …

2
TDD z wzorcem repozytorium
W moim nowym projekcie postanowiłem spróbować z TDD. I na samym początku napotkałem problem. Pierwszą rzeczą, którą chcę zrobić w mojej aplikacji, jest umożliwienie odczytu danych ze źródła danych. W tym celu chcę użyć wzorca repozytorium. I teraz: Jeśli testy mają na celu rzeczywistą implementację interfejsu repozytorium, będę testował klasę, …

2
W jaki sposób wykryte zostaną błędy pisarskie podczas tworzenia próbnych wersji w dynamicznym języku?
Problem występuje podczas wykonywania TDD. Po kilku zdaniach testowych zmieniają się typy zwracane przez niektóre klasy / moduły. W statycznym języku programowania, jeśli poprzedni próbny obiekt był używany w testach innej klasy i nie został zmodyfikowany w celu odzwierciedlenia zmiany typu, wystąpią błędy kompilacji. Jednak w przypadku języków dynamicznych zmiana …

5
Jak przetestować jednostkę, która jest refaktoryzowana do wzorca strategii?
Jeśli mam w kodzie funkcję, która wygląda następująco: class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } Normalnie przefakturowałbym to, aby użyć Ploymorfizmu przy użyciu fabrycznego wzorca klasy i strategii: public string calculateTax(string name) { InameHandler …

5
Metody testowania bardzo dużej aplikacji
Mam bardzo dużą aplikację PHP. Zwykle pracuje nad nim 2-3 programistów i dochodzimy do punktu, w którym wprowadzamy zmiany i robimy błędy (funkcje kaszlu!). Oprogramowanie nie jest skomplikowane, powiedzmy, po prostu wiele się dzieje (35 ~ kontrolerów, o tych samych modelach itp.). Nawet uważając, zmiana tego widoku (poprawianie identyfikatora elementu) …

5
TDD: Wyśmiewanie ciasno powiązanych obiektów
Czasami przedmioty muszą być ściśle połączone. Na przykład CsvFileklasa prawdopodobnie będzie musiała ściśle współpracować z CsvRecordklasą (lub ICsvRecordinterfejsem). Jednak z tego, czego nauczyłem się w przeszłości, jedną z głównych zasad rozwoju opartego na testach jest: „Nigdy nie testuj więcej niż jednej klasy na raz”. Oznacza to, że powinieneś używać ICsvRecordpróbnych …
10 tdd  coupling  mocking 


5
Jeśli TDD dotyczy projektowania, dlaczego go potrzebuję? [Zamknięte]
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Guru TDD coraz bardziej mówią nam, że TDD nie polega na testach, ale …
10 tdd 

3
Spraw, by piłka toczyła się po TDD
Należę do zespołu programistów, który współpracuje z wieloma innymi zespołami w celu utrzymania i ulepszania aplikacji, która była używana przez co najmniej 15 lat. Kiedy został zbudowany i zaprojektowany po raz pierwszy, TDD było niespotykane. Aplikacja jest dość stabilna i rzadko napotykamy błąd zatrzymujący program, ale robimy średnio około jednego …
10 unit-testing  tdd 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.