Development: Testing
Testing is a critical part of good practices of SW Project Development. There are two main schools of thought on when to introduce testing: Test-Oriented Development versus Test Driven Development. There are also different kinds of testing: Unit (small pieces of code that are being tested), Integration (as you take and integrate larger pieces of code together) and finally System/Acceptance (potentially involving customers).
Inside Industry
Inside Industry
....Antoine Pickard, Google Software Engineer
"Testing is crucial for organizations that lack large testing orgs. Google has 10 developers per tester so developers are largely responsible for their own testing. Need to be familiar with unit testing frameworks (e.g. jUnit) and mocking library(ies) for the relevant language. "
Testing Frameworks
use opensource frameworks (code) to help you develop test cases.
C++ = Unit
Python = JUnit
Java = JUnit
Webdriver for integration testing
Overview of testing:
Test-ORIENTED Development
- write some code ( a little)
- write 1 or more test cases to test the new code
- if fail (RED) fix the implmentation
- Now you can do Code Review and Commit your code to your git repository
Test-DRIVEN Development
- write test method
- it will fail (RED) as no implmentation
- write implementation of the actual code so that the test passes (GREEN)
- Now you can do Code Review and Commit your code to your git repository