Previous WeekNext Week
Week 10 [Oct 21]
Questions to discuss during tutorial: Divide these questions among team members. Be prepared to answer questions allocated to you.
Q1
- What is Liskov Substitution Principle?
Give an example from the project where LSP is followed and explain how to change the code to break LSP.
- Explain how Law of Demeter affects coupling
a. Add a line to this code that violates LoD
void foo(P p){
}
- Give an example in the project code that violates the Law of Demeter.
Q2
- Explain and justify: testing should be efficient and effective
- Explain how exploratory and scripted testing is used in your project
- Give an example of a negative test case in your project
- Explain grey-box test case design
Q3
- Explain: Equivalence Partition improve E&E of testing
- What are the EPs for the parameter
day
of this method
boolean isValidDay(int year, int month, int day){
}
Q4
- Explain: Boundary Value Analysis improves E&E of testing
- What are the boundary values for the parameter
day
in the question above?
- How can EP and BVA heuristics be used in your project?
- How do you ensure some clean up code is run after each JUnit test case?
Q5
- What is test coverage? What are different types of coverages?
- How to measure coverage in Intellij?
- What’s the difference between validation and verification?
Acceptance tests are validation tests or verification tests?
- Give an example of static analysis being used in Intellij