Ej, tak się zastanawiam czy w dobie AI TDD ma jeszcze sens? Bo czy nie lepiej najpierw napisać kod a potem kazać jakiemuś czatowi wygenerować do tego testy i potem je ewentualnie poprawić jeszcze niż samemu wedle TDD najpierw klepać testy i potem kod?
#programowanie #programista15k #tdd #chatgpt #openai #ai
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ly000: ale tdd podwyższa jakość napisanego kodu i klasyfikuje wymagania, tdd nie polega po prostu na przetestowaniu kodu, jeżeli tego nie rozumiesz to znaczy że jesteś jakimś świezakiem po bootkampie
  • Odpowiedz
@Nofenak: A skąd AI będzie wiedziała czy jakaś część kodu to bug czy feature?

Nie jest problemem napisanie testu który sprawdza czy kod działa, problemem jest napisanie testu który sprawdza czy kod działa poprawnie…
  • Odpowiedz
Zastanawiam się, jak powinny wyglądać commity jeśli robi się TDD. Piszę sobie teraz pet projekt do zarządzania wydatkami i póki co moje commity wyglądają w ten sposób, że najpierw dodaje puste unit testy, potem ich implementacje a na końcu implementacje danego ficzera:
#programowanie #naukaprogramowania #programista15k #tdd
Nofenak - Zastanawiam się, jak powinny wyglądać commity jeśli robi się TDD. Piszę sob...

źródło: Screenshot 2024-05-31 180335

Pobierz
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Nofenak: pomyśl o tym co ci dają poszczególne commity, czy cofnięcie się do nich przynosi jakąś wartość. Osobny commit na pusty test jest moim zdaniem zbędny.

Poszedłbym nawet dalej, że o ile w trakcie implementacji to osobne commity na testy i na implementację jeszcze mają sens, to przy merge'u do maina bym te commity squashował, bo i tak jedno bez drugiego nie istnieje, tylko razem stanowią jedną logiczną całość możliwą
  • Odpowiedz
Moje doświadczenie z #tdd / #bdd na własnym projekcie pisanym czystokodami nowoczesnymi.

Wypisałem sobie 30 ogólnych epiców jakie ma robić moja apka. Biznesowe funkcjonalności.
W każdym z nich opisałem po 5-10 historyjek. W każdej z nich reguły akceptowalności w stylu: jest to, jeśli zrobię to to ma się zadziać to.

Jak duża ma być 1 funkcjonalność testowana? Kiedy jest zbyt ogólna a kiedy zbyt szczegółowa.
a.....e - Moje doświadczenie z #tdd / #bdd na własnym projekcie pisanym czystokodami ...

źródło: peepokc-kcpeepo

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

SZKOŁA TESTÓW JEDNOSTKOWYCH – Start Zapisów

Cześć! Wystartowały zapisy do programu Szkoła Testów Jednostkowych dla Młodszych Programistów C#/.NET. W tym filmie poznasz więcej szczegółów, opowiem o tym, czym w ogóle jest Szkoła Testów Jednostkowych. Dowiesz się również dla kogo jest to szkolenie i co otrzymasz po dołączeniu

Link do filmu: https://www.youtube.com/watch?v=2PCscTetk8M

#programowanie #programista #nauka #naukaprogramowania #programista15k #csharp #dotnet
kazik- - SZKOŁA TESTÓW JEDNOSTKOWYCH – Start Zapisów

Cześć! Wystartowały zapisy do...

źródło: comment_1629724755plieGjTFemGAooDVvPgysb.jpg

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

TEST DRIVEN DEVELOPMENT – Wprowadzenie do TDD na przykładzie w C#

Cześć! Właśnie pojawił się nowy odcinek na YouTube. Tym razem przedstawię temat TDD, czyli Test Driven Development w C#. Będzie bardzo praktycznie, zaimplementujemy prosty algorytm zgodnie z zasadami TDD (red, green, refactor). Miłego oglądania

Link: https://www.youtube.com/watch?v=Rqe7Y86sRJc

#programowanie #programista #nauka #naukaprogramowania #programista15k #csharp #dotnet #testyjednostkowe #
kazik- - TEST DRIVEN DEVELOPMENT – Wprowadzenie do TDD na przykładzie w C#

Cześć! ...

źródło: comment_16293789973uk4sScbQgf1aYw1sihlmI.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam apkę w #java. Kiedy w IDE jako listę argumentów podaję null to oczywiście apka wywala NullPointerExeption. Jeśli jednak odpalić tę samą apkę w CMD i nie podać żadnych argumentów, to wtedy już rzucony zostaje ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0. Dlaczego tak się dzieje? Czy takie zachowanie w ogóle powinno zostać przetestowane? Jeśli tak to w jaki sposób?

public static void main(String[] args) {

String pat = args[0];
String txt =
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@69inch: nie da się. Testy jednostkowe testują wydzielony kawałek kodu, w twoim kodzie nie ma czegoś takiego. Musisz testować end-to-end
  • Odpowiedz
Proszę o wyjaśnienie czy dobrze rozumiem działanie i zastosowanie #cucumber Wiem, że głównie służy do automatyzacji testów ale powiedzmy, że chciałbym go użyć w testach manualnych. Czy każdy krok (Given, When, Then) musi służyć do zaimplementowania kodu, który faktycznie przeprowadza test, czy np Given może służyć do konfigurowania testów? Chodzi mi o taki fragment kodu jako przykład:

public class StepDefinition {
private PatternSearch ps;
private String txt;

@
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 2
@69inch: Twój When to powinien być kolejny Given (jako And). Potem When "Offset is calculated" z offset = ps.search(txt), i Then "Result offset equals {int}"
  • Odpowiedz
#bettercoding #programowanie #testowanieoprogramowania #testy #bdd #tdd

Cześć,
popełniłem wpis na temat konfiguracji Spock 2.0 + Maven w kilku wariantach: minimalnej, z customowymi nazwami klas testowych oraz integracja ze Spring'iem (SpringBoot).

Dla niewtajemniczonych: Spock to z frameworków testowych (podobnie jak JUnit). Jak wszystko - ma on swoje wady i zalety. Jednak w niektórych zastosowaniach (np. BDD, czy testy integracyjne) może okazać się dużo wygodniejszy np. od wspomnianych JUnit, chociażby ze względu na swą przejrzystość, klauzule where oraz banalne Mock'owanie i
pago - #bettercoding #programowanie #testowanieoprogramowania #testy #bdd #tdd 

Cz...

źródło: comment_1602842230txqUfeCa0uIpWxRJiG6cYk.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Pany pytanie.
Visual Studio + C# / ASP.Net, który framework do testowania?
NUnit, XUnit czy MSTest ? (wiem, że w każdym można zrobić większość rzeczy, ale chodzi mi o to co jest teraz porządane na rynku i najpopularniejsze)
Przy okazji jeśli ktoś by wiedział jak zamienić np. rekordy pobrane z LINQ (DataRow[] lub List) na przypadek testowy? Chciałem to poniżej zamienić na metodę, ale nie wiem jak to ładnie zrobić pod testy dla wielu rekordów

Pobieram z DataView wyfiltrowane rekordy dla pracownika innego niż aktualny i porównuje daty aby wykryć czy nachodzą na siebie
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Tyle się naczytałam o #tdd #bdd, trochę widziałam jak to działa w praktyce, ale że zespół dopiero zaczynał, to powiedzmy, że nie wyszło to książkowo ( ͡° ͜ʖ ͡°)

Pracuje ktoś w zespołach, w których podejście test-first rzeczywiście działa i się sprawdza - przyspiesza delivery, zmniejsza ilość błędów, pomaga wypuszczać lepszy soft? Od czego zależy powodzenie - dobrych wymagań, zrozumienia wśród managementu, umiejętności
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Najbardziej w tdd chodzi o to, żeby oddac się refleksji "jak zaprojektować klase / metode w klasie" zeby dalo rade to sensownie przetestowac.
Ktos moze powiedzieć, że to bez sensu, bo projektujemy kod pod kątem testu, ale w większości przypadków to jak wywołamy metodę w teście a wczesniej jak skonstruujemy obiekt da nam dużo wiedzy czy nie robimy jakiegoś grubego fackupu.

Ogólnie ksiązkowe podejście test-first sprawdza się w sumie dość rzadko, ale
  • Odpowiedz
@Snuffkin:
IMHO:
- tdd jest przereklamowane i przehypowane,
- testy integracyjne do testowania/monitorowania produkcji na okrągło są jedynymi koniecznymi testami,
- unit testy tylko do jak jest jakiś konkretny algorytm LUB test jest trywialny do napisania,
- naturalne jest, że unit testy się wyrzuca jak się
  • Odpowiedz
Do jutra ponad 1200 książek w promocji 2 książki w cenie 1 na Helionie. Poniżej wybór polecanych przeze mnie książek z tej promocji z 600 pierwszych pozycji (tyle udało mi się przejrzeć). Promocja z okazji urodzin Heliona trwa do jutra!

Wszystkie tytuły tutaj: LINK

Polecane przeze mnie:

Ogólnie
tomaszs - Do jutra ponad 1200 książek w promocji 2 książki w cenie 1 na Helionie. Pon...

źródło: comment_aaEZjNyxbw5zXHLQC7HH9zmO7oh6Setn.jpg

Pobierz

Z czego 11-latek najlepiej się nauczy programowania?

  • Z kursów wideo 67.6% (48)
  • Z ebooka / książki 21.1% (15)
  • Inne (pisz w komentarzu) 11.3% (8)

Oddanych głosów: 71

  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@tomaszs Jak sobie zrobisz robota np na Raspberry Pi to będzie to możliwe. Z tym, że do wielu rzeczy konieczna jest ścisła kontrola czasowa, której nie da się prosto osiągnąć pod Raspbianem. Programowanie w Pythonie chyba jest zarezerwowane dla funkcji wyższego poziomu np. do AI.
  • Odpowiedz
Napisałem aplikację konsolową do uzyskania kontroli nad niesfornym JSON-em

Znowu zmienił się JSON i nic nie działa? Teraz jest szybkie rozwiązanie! Wklej URL endpointa do pliku i odpal Breaker config.txt save. Następnym razem będziesz wiedział/a!

Jeśli pracowałeś/aś kiedyś z API to wiesz, jak irytujące jest debugowanie aplikacji. Tj. trzeba ustalić na początku czy to wina frontu, czy backendu, a dopiero później odpowiednia osoba może się tym zająć. Czasem to zadanie spada na frontendowca, ponieważ to we froncie objawiają się błędy backendu/API.

Często
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bacteria: to zdjecie ma jakies 15 lat... No ale dobra. Pomine to ze Twoje komentarze to proba wywyzszenia sie kosztem kogos kogo uznales za zoltodzioba. Zalozmy hipotetyczna sytuacje:

Masz REST JSON API, na ktore nie masz wplywu, ale z ktorego korzystasz. API ma 230 endpointów. Do tego API nie ma Swaggera itp. W API dokonywane są zmiany i nie masz o nich informacji. Nie, nie mozesz zmienic API na inne.
  • Odpowiedz
tl;dr Do niedzieli prawie 200 devkursów od 19,90 zł. ( ͡° ͜ʖ ͡°) VP obchodzi 4 urodziny. W związku z tym jest fajna promocja na kursy wideo, które można nabyć do 23 czerwca od 19,90 zł do 39,90 zł LINK. Ja ze swojej strony mogę polecić następujące kursy:

Kurs #git 29,90 zł LINK

Ponad 87 procent respondentów używa tego systemu do przechowywania kodu. Dzięki swojej popularności Git stanowi dziś de facto standard w IT, a jego znajomość jest powszechnym wymogiem. Jednak mimo tej popularności wielu programistów wciąż nie do końca zdaje sobie sprawę z potężnej mocy ukrytej w tym narzędziu. Git uchodzi za skomplikowany, a użytkownicy często korzystają z zaledwie kilku komend i trzymają się utartych schematów. Nie próbują zrozumieć jak naprawdę działa, a bez tego trudno mówić o płynnej pracy z systemem i pełnym jego wykorzystaniu. Tymczasem stanowi on podstawę serwisu GitHub, będącego centrum świata open source. To tam znajdują się kody najpopularniejszych bibliotek oraz narzędzi używanych w ramach otwartego dostępu, to tam zapadają decyzje dotyczące ich modyfikacji i ulepszeń. Kto jest obecny na GitHubie, może na bieżąco śledzić zmiany w kodach ważnego dla siebie oprogramowania i uczyć się od najlepszych światowych programistów. Warunek jest jeden — by efektywnie współpracować z GitHubem,
tomaszs - tl;dr Do niedzieli prawie 200 devkursów od 19,90 zł. ( ͡° ͜ʖ ͡°) VP obchodz...

źródło: comment_zbCmjWgNg7z8T1UZ8eA4OtxETq3xwX0T.jpg

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

w jaki sposob sie pisze testy jednostkowe do bardziej ambitnych projektow? napisanie testu dla funkcji, ktora dodaje liczby wydaje sie calkiem proste, ale jak napisac test dla funckji, ktora pobiera dane z csv/bazy danych, nastepnie wykonuje jakies operacje i zapisuje do csv wynik?
Albo funkcja, ktora modyfikuje jakas podana pandas.DataFrame i zwraca zmodyfikowana?

#programowanie #python #tdd
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@przepyszna_frytka: testy jednostkowe robi się na niższym poziomie.

Robisz test jednostkowy dla funkcji która pobiera dane, oddzielne testy dla funkcji robiących operacje, i oddzielny test dla funkcji zapisującej csv. Dzięki temu zamiast 5 * 5 * 5 = 125 kombinacji do przetestowania (jeśli każdy etap miał 5 przypadków testowych) masz tylko 5+5+5 = 15 testów.

Test sprawdzający to wszystko razem nie nazywa się jednostkowy, tylko integracyjny, i jest wiele
  • Odpowiedz
Przegląd promocji dla programistów

Ebooki i kursy wideo

Najlepsza promocja miesiąca:
1. Dzisiaj jest ostatni dzień, w którym można zgarnąć kurs programowania w j.polskim z rabatem 60%. Do dużej części kursów jest darmowy ebook. Pełną listę tytułów znajdziecie tutaj: https://www.wykop.pl/wpis/41333901/przypominam-ze-tylko-do-jutra-jest-60-na-kursy-wid/
tomaszs - Przegląd promocji dla programistów

Ebooki i kursy wideo

Najlepsza pro...

źródło: comment_5bnbT7vbxBRNLMgqsQPsf5QKt2wDQWmm.jpg

Pobierz
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

UPDATE 13.05: Jest nowa promocja, w której do kursu dodają ebooka. Wychodzi taniej:

Dobra wiadomość dla programistów. Do 19 maja (niedziela) jest promocja na kursy wideo w języku polskim. 50 najlepszych kursów zostało obniżonych o 60%. Do każdego kursu dodatkowo jest ebook z tego samego tematu gratis.

W końcu jest nowa promocja na kursy wideo + ebooki dla programistów. Ta promocja jest ważna do niedzieli, 19 maja. Przyjrzyjmy się, co można kupić w promocji.

+++
tomaszs - UPDATE 13.05: Jest nowa promocja, w której do kursu dodają ebooka. Wychodzi...

źródło: comment_1JE8axIGSvkJESVnUW1c46t9wxIdin4k.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach