Skip to content

Commit 58f6992

Browse files
Update README.md
1 parent 9c6de2f commit 58f6992

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

README.md

+41
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,47 @@ A linter is a static code analysis tool for identifying problematic patterns fou
5757

5858
* [Stylelint](https://github.com/stylelint/stylelint): It is a linter to identify and report errors and enforce conventions for styles.
5959

60+
## Testing
61+
### Testing Types
62+
63+
* Unit test: Specify and test one point of the contract of single method of a class. This should have a very narrow and well defined scope. Complex dependencies and interactions to the outside world are stubbed or mocked.
64+
65+
* Integration test: Test the correct inter-operation of multiple subsystems. There is whole spectrum there, from testing integration between two classes, to testing integration with the production environment.
66+
67+
* Acceptance test: Test that a feature or use case is correctly implemented. It is similar to an integration test, but with a focus on the use case to provide rather than on the components involved.
68+
69+
* Functional test: Test features on the business requirements of the system.
70+
71+
* Smoke test: Initial tests to decide whether the system is good enough for continuous testing.
72+
73+
* Regression test: A test that was written when a bug was fixed. It ensures that this specific bug will not occur again.
74+
75+
* System test: Test the software as a black box.
76+
77+
* End-to-end test: Test a user behavior with the system in a complete application environment.
78+
79+
* Performance test: Test to check the behaviors of the system when it is under significant load.
80+
81+
### Testing Tools
82+
83+
* Test launchers: Launch tests in a browser or Node.js with user config using the CLI or UI. This can also be achieved by opening the browser manually - Karma, Jasmine, Jest, TestCafe, Cypress
84+
85+
* Testing structure providers: Help arranging test files - Mocha, Jasmine, Jest, Cucumber, TestCafe, Cypress
86+
87+
* Assertion functions: Verify whether the results a test returns are as expected - Chai, Jasmine, Jest, Unexpected, TestCafe, Cypress
88+
89+
* Generate and display test progress and results - Mocha, Jasmine, Jest, Karma, TestCafe, Cypress
90+
91+
* Mocks, spies, and stubs - Isolate certain parts of tests and catch their side effects - Sinon, Jasmine, enzyme, Jest, testdouble
92+
93+
* Generate and compare snapshots of component and data structures: Make sure changes from previous runs are intended - Jest, Ava
94+
95+
* Generate code coverage reports: Verify how much of the code is covered by the tests - Istanbul, Jest, Blanket
96+
97+
* Browser controllers: Simulate user actions for Functional Tests - Nightwatch, Nightmare, Phantom, Puppeteer, TestCafe, Cypress
98+
99+
* Visual regression tools: Compare the site to its previous versions visually by using image comparison techniques - Applitools, Percy, Wraith, WebdriverCSS
100+
60101
## Gists
61102
Gists are a collection of code snippets for understanding the JavaScript concepts. It is also a resource to review before a frontend job interview.
62103

0 commit comments

Comments
 (0)