This is simple technical task on code coverage, team work and work with code at all.
- You've joined the team which consists of:
- Technical Lead(TL)
- Business analyst(BA)
- QA Engineer(QA)
- Senior Developer(SD)
- You've got a task: please increase code coverage for the current project(add unit tests).
- You can address any questions to any person in the team(interviewer should cover it).
- There are no possibilities to change existing code.
- What is the purpose of using strictfp key word in the class or in the method(TL or SD);
- What will be usage of current code in business area: precision for unit tests(BA for business area and TL for current value);
- Do we have any code convention on the project? What is current convention for tests?(QA, SD, TL)
- What are maximum and minimum values for calculation operations(according to the spec)? What should happen if result of the operation or operands will exceed this value?(BA)
- Which corner cases are necessary to be covered for math operation implementation? e.g. division by 0(QA or SD)
- Which corner cases are necessary to be covered for MathOperationExecutor?(QA or SD)
- correct logic of mathematical operation can be changed to incorrect(e.g. in Subtraction or Division class leftOperand and rightOperand can be swapped)