Тест 3 – ввести число 0, в результате сообщение «нельзя вводить 0».
(Н) – А почему ввели 1.5, так можно?»
(К) – Да, никаких ограничений на ввод дробных значений требованиями не накладывается.
(Н) – Хорошо. Достаточно ли проработаны нештатные ситуации и исключения?
(К) – Полагаю, да.
(Н) – Хорошо, разберите, пожалуйста, гарантийный запрос, в котором заказчик указывает, что программа неверно работает при вводе значения 1F (31 в шестнадцатеричном представлении). Происходит аварийное завершение программы, а ожидается 0,32.
(К) – В данном случае число содержит нецифровые символы, «F», но заказчик, вероятно, полагает, что программа должна распознать числа в любом представлении. В данном случае нет явного ограничения, что число десятичное, хотя это подразумевалось реализацией. Нужно было добавить в требования информацию о том, что числа десятичные, и указать диапазоны, чтобы избежать ошибок переполнения типов. Например, указать:
4. Вводимое число должно быть десятичным, с разделителем – точкой, диапазон 0 – 1E38, при отклонении введенного числа или результата деления от этого диапазона сообщать «Переполнение типа».
(Н) – А отрицательные числа могут вводиться?
(К) – При данном ограничении – не могут, будет «Переполнение типа», Вы согласны с таким ограничением?
(Н) – Да, хорошо, пусть будет так.
Далее можно поговорить о том, как внести требование в спецификацию, какую тактику переговоров предлагает кандидат. Можно указать, что заказчик хочет вводить не только десятичные, но и шестнадцатеричные числа, как построить требования и алгоритм, то есть можно перейти к последующим блокам собеседования.