TDD Basic Flashcards
What Are The Some Clarifications About Tdd?
- TDD is neither about Testing nor about Design.
- TDD does not mean write some of the tests, then build a system that passes the tests.
- TDD does not mean do lots of Testing.
What Is Test Driven Development (tdd)?
- designing and developing tests for every small functionality of an application
- Test is developed which specifies and validates what the code will do.
What Is The Primary Goal/benefit Of Unit Testing?
- Having solid unit tests allows the developers to refactor without fear. That is, they can much more easily maintain and extend the application.
What Are The Benefits Of Tdd?
- Early bug notification
- Better Designed, cleaner and more extensible code
- Confidence to Refactor
- Good for teamwork & Developers since less debugging time and can easily pick up and work on code
What Are Some Of The Common Pitfalls Of Tdd/unit Testing?
- Testing using shared resources is difficult
- Type specific values don’t compare well
How To Perform Tdd Test?
- Add a test.
- Run all tests and see if any new test fails.
- Write some code.
- Run tests and Refactor code.
- Repeat.
What Are The Difference Between Tdd Vs. Traditional Testing?
- TDD ensures that your system actually meets requirements defined for it
- TDD more focus is on production code that verifies whether testing will work properly. In traditional testing, more focus is on test case design.
- TDD, you achieve 100% coverage test. Every single line of code is tested unlike traditional testing.
Negative Testing
test for invalid inputs
Positive Testing
test with valid inputs and compare result
Verification
check if everything is going according to plan during SDLC
Validation
see if product meets company’s need
Stress Testing
test how the system perform with lack of resource of functional impairments
Load Testing
testing system under normal amount of stress with the expected load
QA
Quality Assurance - define the way of monitoring and implementing quality of process
QC
Quality Control - process of finding defects and improving