Опасность! Много текста!
Всем привет, я довольно часто заходил на форум из read-only, но сегодня моё терпение кончилось и глупые вопросы начались уже у меня.
Дело в том, что помимо того, что зеленый новичок, так еще и ищу работу.
Поэтому начну с непотопляемой темы этого форума: классы эквивалентности, тестовое задание, калькулятор
Заранее укажу, что решать за меня я форум просить не буду.
В тестовом задании к моему калькулятору, особо ничего не сказано в требованиях, а если дословно, то
"опирайтесь на свой опыт и спек, данный в задании"
"калькулятор должен выполнять математические операции с вещественными числами"
что можно считать законченными требованиями. Это всё.
адавать вопросы и уточнять у hr я в данный момент не могу, да и не буду, хочется проверить именно свою логику.
Хорошо, хватит болтовни, для калькулятора, который содержит кнопки с 0 до 9, имеет 4 кнопки мат. операций: / * - + , имеет кнопку редактирования,
поле для игрищ с цифрами, где цифарки появляются, ну, собственно и всё.
Так как у нас имеются в опыте понимании того, что лучше всего тестировать пограничные значения, я сажусь в первую лужу: как определить максимальное значение? Чему оно равно? Есть ли смысл его вводить и искать вообще?
Моя логика: данные, насколько я помню, хранится в переменной, переменная - это область памяти, выделенная ОСью (+ обертки), так вот, если программист, допустим, зажал по своим причинам память, выделив память статически = то у меня неплохие шансы, вводя много нулей найти границу и найти жирный баг. С динамическим выделением памяти ситуация становится грустной: не тестировать же мне свободную RAM на устройстве? У меня же её 16 GB, а если её не хватит, то система использует буфер подкачки.
Так вот, можно ли считать, что проверенные мной данные, например 10000 и 9.9E99 будут эквиваленты?
Тягу к прекрасному мне подсказывает, что долбить по кнопочкам, набивая условно большие значения - пустая трата времени. Так ли это? Особенно, когда нет спека.
Вторая, и наиболее интересная часть моего вопроса, это мои классы эквивалентности. Давайте представим, что для моего калькулятора в моем личном плане тестирования я выделил следующие мини-тест-кейсы по проверке калькулятора на выполнение математических операций с вещественными числами, оформил я их в виде матрицы, для упрощения.
Вот моя матрица
*max здесь выбран до того, как я зашел на форум, не зная, что ввести.
*failed для деления - это найденный баг в самой программе, когда я исследовал софтину в свободном полете.
Оцените, пожалуйста, моё решение. Укажите, если знаете, на ошибку, я чувствую, она тут есть, потому что прогоняю по своим тест кейсам вручную, мне показалось, что я занимаюсь мартышкиным трудом.
Прошу прощения за скомканную мысль. Отдельный пардон за форматирование. С моего устройства сейчас это затруднительно. Если что-то непонятно, уточняйте, пожалуйста, мне нужно разобраться и научиться мыслить верно.
Спасибо.