|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/kurs-test-driven-development/
课程评论:没有评论
**Coursera 课程总结:PHP Test Driven Development (TDD)** **课程概述:** 本课程专为 PHP 开发者设计,旨在帮助您掌握 Test Driven Development (TDD) 的实践。如果您厌倦了应用程序频繁崩溃和重复出现的错误,本课程将教授您“先写测试,再写代码”的开发方法。您将学到实用的 TDD 技术和策略,适用于新项目的开发和遗留代码的维护。课程将帮助您改变对测试的态度,克服不写测试的借口,并在实践中运用 TDD。 **课程内容:** 本课程共包含七个模块,分步引导您进入 TDD 的世界。 1. **破除 TDD 的迷思与借口:** 课程将首先解决阻碍您编写测试的常见顾虑,指出不写测试的实际后果,揭穿流行迷思,并帮助您克服不写测试的理由。您将了解 TDD 的本质以及项目中的测试金字塔。 2. **TDD 的工作流程:** 学习 TDD 的正确顺序,包括 Red-Green-Refactor 循环、适当的命名规范以及 0, 1, N, Exception 方法。您将掌握从何开始,并学会使用 PHPUnit(PHP 测试基础工具),以及了解哪些内容应该被测试,哪些不应该。 3. **PHP 的测试方法:** PHP 提供了许多具有挑战性的功能,本节将教授如何测试 PHP 的基本接口和语言元素。您将学会如何处理随机函数(如 shuffle、rand)以及日期和时间,以确保您的代码不受其影响。此外,您还将了解如何正确地进行依赖注入以及创建测试间的依赖关系,以实现更快速、更优质的代码编写。 4. **PHPUnit 的机制:** 深入学习 PHPUnit 的强大功能,包括 Stub、Mock 和 Spy 的概念及正确用法。您将了解如何使用 Data Providers 同时测试多个案例,以及如何使用 Test Suites 将单元测试与集成测试分离。课程还将演示如何生成代码覆盖率报告(Code Coverage),并解释为何 100% 的代码覆盖率并不总是代码质量的良好衡量标准。 5. **MAKAO 游戏实现:** 课程以实际 TDD 应用为主,将共同创建 MAKAO 纸牌游戏的测试。您将编写超过 100 个单元测试和集成测试,以确保游戏的正常运行。讲师将分享 11 年的 PHP 编程经验和解决复杂问题的技巧。 6. **日常 TDD 挑战:** 课程将重点介绍遗留代码的测试。您将理解为何人们不喜欢旧代码,以及在维护遺留代码时需要付出多少努力才能获得安全感。您将学习测试遺留代码的简单方法,并认识到 100% 的代码覆盖率并不能保证安全。课程还将指出初学者最常见的错误。 7. **超越测试:** 最后,您将了解 PHP 中测试依赖关系的有效替代方法和可能性。课程还将引导您如何使用 TDD 来修复 bug,从而避免重复性错误。您将认识到测试是理想的文档形式,并能显著加快新成员的入职速度。课程将运行创建的游戏,并提供扩展游戏的建议,以巩固所学知识。 **目标受众:** 本课程适合已熟悉 PHP 语言,能够编写应用程序代码但未能有效编写测试,或希望提升测试技能的开发者。初学者建议先掌握 PHP 基础后再学习本课程。您无需具备 PHPUnit 或其他外部工具的知识。如果您想创建安全、高质量且值得信赖的应用程序,不再担心部署后出现问题,或厌倦了重复性的支持问题,那么本课程非常适合您。 **为何选择本课程:** 本课程以视频形式呈现,是一种高效且愉快的学习方式,能够让您保持兴趣和参与度,并从知识的获取中获得满足感。课程内容结合了理论知识和一位经验丰富的实践者的建议,有助于您更轻松地掌握材料并构建可靠的应用程序。您将通过实际案例学习,课程精华在于实践知识、经验和模板,能够为您节省大量工作和探索时间。
WprowadzenieJeżeli programujesz w PHP i masz dość wysypujących się aplikacji oraz powtarzających się błędów, to bardzo dobrze trafiłeś. Ten kurs nauczy Cię jak pisać najpierw testy, a później kod. Poznasz moje najlepsze techniki oraz strategie, które sprawdzają się w tworzeniu nowych aplikacji oraz w pracy z Legacy Code. Zmienisz swoje nastawienie do testów, pozbędziesz się wszystkich wymówek i nauczysz się jak zastosować TDD w praktyce.Obalenie mitów i wymówek o TDDSkuteczne metody konstruowania testówWorkflow pracy w Test Driven DevelopmentWykorzystanie możliwości PHPUnitModelowanie aplikacji przez testyTestowanie Legacy CodeWskazówki od eksperta - praktykaKompletne pliki źródłowe i wiele więcej!Kurs składa się z siedmiu modułów, które krok po kroku wprowadzą Cię do świata Test Driven Development. Na początku rozprawimy się z popularnymi wymówkami, które blokują Cię przed pisaniem testów. Poznasz niezbędną teorię, a następnie przygotujemy środowisko do pracy. W trakcie kursu stworzymy prostą grę karcianą - Makao, zaczynając za każdym razem od testów, których w trakcie całego kursu napiszemy wspólnie znacznie ponad 100. Zdobędziesz wiedzę i doświadczenie, które wyniosą Twój kod na wyższy poziom działania, jakości oraz bezpieczeństwa.Mity, wymówki i konsekwencje braku testówTest Driven Development jest jak zdrowy styl życia. Każdy słyszał, że warto to robić, ale mało kto stosuje się do tego w praktyce. Pokażę Ci realne przykłady konsekwencji braku testów, obalę popularne mity oraz pozbędziemy się Twoich wymówek, by nie pisać testów. Zobaczysz czym jest TDD oraz jak powinna wyglądać piramida testów w Twoim projekcie.Workflow w TDDPraca w Test Driven Development ma swoją kolejność. Poznasz cykl Red - Green - Refactor, właściwe nazewnictwo oraz metodę 0, 1, N, Exception. Dzięki temu będziesz wiedzieć dokładnie od czego zacząć. Nauczysz się używać PHPUnit, czyli podstawowego narzędzia do tworzenia testów w PHP, oraz dowiesz się co testować, a czego nie.Metody testowaniaPHP dostarcza wiele funkcjonalności, które stanowią wyzwanie podczas testowania. Pokażę Ci jak testować podstawowe interfejsy i elementy języka PHP. Dowiesz się jak poradzić sobie z testowaniem funkcji losowych, takich jak shuffle, rand czy daty oraz czas, by Twoje były od nich niezależne. Zobaczysz jak poprawnie wstrzykiwać zależności oraz tworzyć zależności między testami, by pisać kod szybciej i lepiej.Mechanizmy w PHPUnitW tej części nauczę Cię jak korzystać w pełni z możliwości najlepszej biblioteki do testowania w PHP. Dowiesz się czym jest Stub, Mock oraz Spy i jak ich używać poprawnie. Dowiesz się jak testować wiele przypadków jednocześnie dzięki Data Providerom oraz jak oddzielać testy jednostkowe od integracyjnych przy użyciu Test Suites. Na koniec zobaczysz jak generować raporty pokrycia kodu, czyli Code Coverage. Zrozumiesz dlaczego 100% pokrycia jest proste do uzyskania i nie jest to dobra miara jakości kodu.Implementacja gry w MAKAOCały kurs jest nastawiony na praktyczne zastosowanie TDD. Część testów będziemy tworzyć wspólnie, ale czekają na Ciebie również zadania domowe. Nie da się nauczyć TDD tylko o tym słuchając, dlatego napiszemy wspólnie ponad 100 testów jednostkowych i integracyjnych, gwarantujących poprawne działanie gry w Makao. Będę dzielić się z Tobą swoim 11-letnim doświadczeniem w programowaniu w PHP oraz pokażę Ci swoje najlepsze triki i strategie na rozwiązywanie skomplikowanych przypadków.Codzienne wyzwania w TDPonieważ nie żyjemy w próżni, kolejny dział będzie poświęcony pracy z Legacy Codem. Zobaczysz co powoduje, że nikt nie lubi starego kodu i o ile więcej pracy musisz w niego włożyć, by czuć się bezpiecznie. Zobaczysz, że testowanie takiego kodu jest możliwe, kiedy zastosujesz się do kilku prostych metod. Zobaczysz, że 100% pokrycia kodu nie gwarantuje Ci bezpieczeństwa. Wypunktuję Ci najczęstsze błędy początkujących.Więcej niż testowanieNa koniec poznasz ciekawe alternatywy i możliwości skutecznego testowania zależności w PHP. Nauczę Cię również naprawiać bugi z użyciem TDD, dzięki czemu nigdy więcej nie będziesz musiał naprawiać dwa razy tego samego. Zobaczysz, że testy stanowią idealną formę dokumentacji oraz znacznie przyspieszają wdrażanie nowych osób do projektu. Uruchomimy stworzoną grę oraz podsunę Ci kilka pomysłów jak możesz ją samodzielnie rozwinąć, by sprawdzić zdobytą wiedzę w praktyce.Dla kogo jest ten kurs?Ten kurs powstał dla programistów dobrze znających język PHP, którzy wiedzą jak pisać kod aplikacji, ale nie potrafią pisać testów lub chcą robić to lepiej. Jeżeli widzisz PHP po raz pierwszy, to najpierw nabierz trochę wprawy i wróć do tego materiału za kilka miesięcy. Nie potrzebujesz natomiast żadnej znajomości PHPUnit, czy innych zewnętrznych narzędzi lub bibliotek. To kurs dla Ciebie, jeżeli chcesz tworzyć bezpieczne aplikacje o wysokiej jakości, którym możesz zaufać. Oprócz tego, jeśli chcesz przestać się stresować, że po wdrożeniu znowu coś przestanie działać, lub masz dość powtarzających się błędów na supporcie - to ten kurs jest dla Ciebie.Dlaczego wybrać właśnie ten kurs?Kurs wideo to najbardziej efektywna a zarazem najprzyjemniejsza forma nauki. Jest on tak prowadzony, byś cały czas mógł go śledzić z zainteresowaniem i zaangażowaniem, a także czerpać satysfakcję ze zdobytej wiedzy!Wiedza, którą otrzymujesz w tym kursie, to nie tylko sucha teoria, ale również wskazówki od praktyka z wieloletnim doświadczeniem, dzięki którym dużo łatwiej będzie Ci opanować materiał i tworzyć solidne aplikacje.Uczysz się na praktycznych przykładach. Kurs, który masz przed sobą to esencja praktycznej wiedzy i doświadczenia a także wzorów, które oszczędzą Ci godziny pracy i poszukiwań.