70 likes | 80 Views
Testing. Worshop in Software Engineering Project Department of Computer Science Ben-Gurion university. Classification. Tests are boolean: Pass or fail! White-box testing: Unit testing Follow computation paths (code coverage) Test scenarios derived from use cases (data coverage)
E N D
Testing Worshop in Software Engineering Project Department of Computer Science Ben-Gurion university Worshop in SE Project
Classification • Tests are boolean: Pass or fail! • White-box testing: • Unit testing • Follow computation paths (code coverage) • Test scenarios derived from use cases (data coverage) • Test non-functional requirements (data coverage) • Integration testing • Test integration scenarios derived from functional and non-functional requirements • Black-box testing • Test scenarios derived from use cases (data coverage) • Test non-functional requirements (data coverage) • Regression testing
Unit testing – Follow computation paths • White-box testing: • Unit testing • Follow computation paths (code coverage) • Test scenarios derived from use cases (data coverage) • Test non-functional requirements (data coverage) Code coverage: • Statement, line coverage • Branch coverage • Code complexity – e.g., cyclomatic complexity • Related to data coverage
Unit testing – Use-case scenarios • White-box testing: • Unit testing • Follow computation paths (code coverage) • Test scenarios derived from use cases (data coverage) • Test non-functional requirements (data coverage) Use-case coverage: • Build scenarios for use-case alternatives • Use sequence diagrams for scenario specification • What is the relevance of use-case diagrams? • Data coverage • How to test “big, complex” data, like a big graph?
Unit testing – Non-functional requirements • White-box testing: • Unit testing • Follow computation paths (code coverage) • Test scenarios derived from use cases (data coverage) • Test non-functional requirements (data coverage) • How to create Data? • How to test success/failure • Beware of side-effects
Integration testing • White-box testing: • Unit testing • Integration testing • Test integration scenarios derived from functional and non-functional requirements • Use sequence diagrams to emphasize inter-module interaction
Black-box: Test Use case scenarios How different from white-box testing? • Black-box testing • Positive tests • Negative tests • Use customer advice for testing data • Test scenarios derived from use cases (data coverage) • Test non-functional requirements (data coverage)