KeepCoding Projects - Web 18
Check the full list of repositories and descriptions in 📁 repos-kc-web-18.md
In order to demonstrate the knowledge acquired in virtual classes, this project consists of performing testing exercises using the “jest” dependency.
Testing is essential to detect bugs before deployment, increase confidence in the code, support release decisions, and promote good development practices. It is a key part of methodologies like Waterfall, Agile, and DevOps, where tests are often automated in continuous integration and delivery cycles.
- Manual: A tester visually verifies the application's behavior following predefined steps.
- Automated: Simulate user interactions to validate behavior after code changes.
- Unit: Evaluate individual functions or modules in isolation.
- Integration: Check that multiple components work correctly together.
- End-to-End: Simulate complete user flows to ensure the application functions as expected.
- Security: Detect vulnerabilities and validate the protection of sensitive data.
- Performance: Evaluate response times and behavior under load.
- Usability: Analyze real user experience within the interface.
- Accessibility: Ensure the application is usable by people with disabilities.
- Jasmine, Jest, Mocha + Chai: Unit testing for JavaScript and Node.js.
- Supertest: Functional testing in backend environments.
- Selenium, Puppeteer, Protractor, Playwright: Automated E2E tests in browsers.
TDD consists of writing the test first, then the minimal code to pass it, and finally refactoring. This approach improves quality, avoids unnecessary complexity, and helps catch bugs early. It is supported by SOLID principles and promotes cleaner, more maintainable code.
BDD (Behavior Driven Development) and ATDD (Acceptance Test Driven Development) aim to align developers, testers, and stakeholders by clearly defining expected behaviors. They use structured languages like Gherkin to describe test scenarios in a format understandable by all involved.
TODO
- JavaScript: To add interactivity and dynamic features to the website, improving the user experience with functionalities such as form validation, animations, and event handling.
- babel
- jest
- axios
- Git (tested on version 2.47.1.windows.1)
- Visual Studio Code (tested on version 1.99.0)
Proyect
`git clone https://github.com/pablo-sch/keepcoding-09-TDD-with-javascript.git`
Demo
None
This project does not include external contributions or licenses.