developers on test
TRANSCRIPT
![Page 1: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/1.jpg)
![Page 2: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/2.jpg)
1234
![Page 3: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/3.jpg)
1.
![Page 4: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/4.jpg)
Everyone's interest in the quality of the project is a must
![Page 5: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/5.jpg)
![Page 6: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/6.jpg)
Saves time in debugging
![Page 7: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/7.jpg)
Identify and fix bugs before production
![Page 8: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/8.jpg)
Avoid regressions
![Page 9: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/9.jpg)
Check integration between systems
![Page 10: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/10.jpg)
Analyze the source of bugs
![Page 11: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/11.jpg)
Ensuring project reliability
![Page 12: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/12.jpg)
2.
![Page 13: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/13.jpg)
![Page 14: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/14.jpg)
![Page 15: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/15.jpg)
What is it?
Tests are defined first and then coded
![Page 16: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/16.jpg)
![Page 17: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/17.jpg)
Advantages
● Minimal use of debugger● Quality from beginning● Focused on functionality
![Page 18: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/18.jpg)
![Page 19: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/19.jpg)
What is it?
From applying TDD but applying business needs
![Page 20: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/20.jpg)
How to apply it?
Same principles as TDD but executed by scenarios defined in Gherkin language
![Page 21: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/21.jpg)
3.
![Page 22: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/22.jpg)
![Page 23: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/23.jpg)
Do we need to explain?
Checks the correct functioning of a minimum code unit.
![Page 24: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/24.jpg)
Advantages
● Speed● Atomicity and independency● Code documentation● Robusted
![Page 25: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/25.jpg)
![Page 26: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/26.jpg)
Test Doubles
Replace code for the purpose of independently testing objects
![Page 27: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/27.jpg)
Doubles Test Types
- Dummy: objects created to pass them through parameters but not actually used.
![Page 28: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/28.jpg)
Doubles Test Types
- Fake: objects with functionality but with limitations in their implementation, so they are not useful for production.
![Page 29: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/29.jpg)
Doubles Test Types
- Stub: objects designed to respond to specific responses by ignoring any other behavior.
![Page 30: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/30.jpg)
Doubles Test Types
- Mock: objects preprogrammed with concrete expectations, ignoring calls that do not adapt to these.
![Page 31: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/31.jpg)
Doubles Test Types
- Spy: objects that check the calls made ignoring the parameters used.
![Page 32: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/32.jpg)
4.
![Page 33: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/33.jpg)
![Page 34: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/34.jpg)
What is it?
Check part connections with other components
![Page 35: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/35.jpg)
Advantages
● Isolated check of integration● Check expected behaviour of module● Speed
![Page 36: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/36.jpg)
Disadvantages
● Complexity● Need more resources than unit tests
![Page 37: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/37.jpg)
![Page 38: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/38.jpg)
What is it?
Check the behaviour of the project as expected by the user.
![Page 39: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/39.jpg)
Advantages
● Gherkin language● Guarantees functionality● Check expected behaviour of project
![Page 40: Developers on test](https://reader033.vdocument.in/reader033/viewer/2022051710/5a65afdf7f8b9aa4758b5b61/html5/thumbnails/40.jpg)
Disadvantages
● Slow● Maintenance● Resources