A few days ago I applied for one of QA positions, the HR dept sent me a test task that i had to solve before being invited for the technical interview.
I did this task and got a negative response, could you guys take a look and advice what mistakes have I made?
Please solve the task below and send requested test cases to us.
Function takes two and only two characters as input. It returns 1 when each entered symbol is either letter or number and 0 in other cases.
Numbers are Hindu-Arabic numerals from 0 to 9. Letters are Latin, Cyrillic or Modern Greek alphabet.
The bug was found before, slogan is: “Cyrillic letters are treated as non-letter symbols”
Actions to reproduce:
Function input: БГ.
Expected output: 1. (Logic: only Cyrillic letters).
Observed output: 0.
The bug was fixed. Existing tests were already ran as a regression test after bugfix, here is the test report:
Input Expected output Status
AA 1 Passed
1A 1 Passed
11 1 Passed
A$ 0 Passed
(1 0 Passed
What tests cases will you do for bug’s verification?
What tests cases will you propose to enforce regression testing of the function?
Negative tests like input less than 2 symbols and input more than 2 symbols are out of scope for both bug verification and additional regression test cases.
Q1 - What tests cases will you do for bug’s verification?
The test cases that are needed for bug’s verification (Cyrillic letters are not treated as letter symbols) could be easily derived from the acceptance criteria that is provided and expected result in the bug report.
The test case Summary will be like:
“Verify that function treats Cyrillic characters as letter symbols” (other wording might be used or this could be organized as a checklist containing checks for Latin, Cyrillic and Modern Greek alphabets - this depends on a real context).
Test case(s) must contain steps(checks) for following cases:
(probably I would prefer to organize this as a checklist or test cases with multiple steps where every step has its own expected result)
- 2 Cyrillic characters entered at once (e.g. “БГ”)
- 1 Cyrillic and 1 Greek Alphabet character (e.g. “λГ")
- 1 Cyrillic and 1 numeric (e.g. “Б1”)
Another test case is needed in order to verify that combination of Cyrillic, non-letter and non-numeric characters will result as “0”.
Q2 - What tests cases will you propose to enforce regression testing of the function?
Basing on the list of test that were executed the test coverage is not complete.
Test cases for Greek Alphabet (and variations) must be added in order to cover this functionality (function).
PLEASE NOTE: I assume that Cyrillic input tests were executed (See Q-1).
Now all the possible inputs (alphabets, numbers and their combinations) are covered with the tests.
*Ignored negative test cases in accordance with the task
**Design techniques used: Equivalence classes (exhaustive testing will not be efficient)