Перейти к содержимому

Фотография

Тестирование калькулятора

калькулятор вопросы при собеседовании

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 68

#61 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 12 сентября 2014 - 10:19

 

 

Ну тут скорее имеют ввиду не калькулятор, а некий сумматор, на котором нет клавиши 0, и нельзя два раза ввести единицу (11), а есть клавиша 10

откуда в вас эта уверенность? я из первоначального задания этого не понял (весь флейм не читал)

 

> условии ввода только целых чисел от одного до десяти 

Чисел от 1 до 10, не цифр от 0 до 9

 

ваша ничем не подтверждённая догадка, как в прочем и моя догадка ничем не подтверждена, но мой тест при попытке ввести 0 (сделаем допущение - если такая кнопка есть на клавиатуре, общемировая практика говорит о том что такие кнопки есть на калькуляторах) выдаст ошибку если она есть.

 

ПС:

не понимаю, зачем я это всё доказываю...

на основе сделанных мной допущений, мои тесты полностью корректны и покрывают требование целиком. =)


  • 0

#62 vmaximv

vmaximv

    Опытный участник

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 12 сентября 2014 - 10:33

ваш пример явно некорректен, потому как было ещё как минимум 2 теста которые не могли вернуть 11.

Так ваши оставшиеся два теста - негативные, как они могут что-то вернуть?
  • 0

#63 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 12 сентября 2014 - 10:36

 

ваш пример явно некорректен, потому как было ещё как минимум 2 теста которые не могли вернуть 11.

Так ваши оставшиеся два теста - негативные, как они могут что-то вернуть?

 

если брать ваш пример, напомню:

public mytype3 sum(mytype1 s1, mytype2 s2){
return 11;
}

любые, даже негативные тесты, вернут 11. 


  • 0

#64 vmaximv

vmaximv

    Опытный участник

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 12 сентября 2014 - 10:41

Негативные упадут на этапе компиляции, т.к. mytype[1|2] = [1;10]
  • 0

#65 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 12 сентября 2014 - 10:49

Негативные упадут на этапе компиляции, т.к. mytype[1|2] = [1;10]

и откуда у вас это?

с чего вы взяли, что будет компиляция?

а если приложение на Python, JS, VB, PHP, и тд, и тп?

кто вообще говорил о юнит тестировании?


  • 0

#66 vmaximv

vmaximv

    Опытный участник

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 12 сентября 2014 - 11:05

Да никто - я просто привел иллюстрацию. Если хотите, добавьте проверки на входные данные и сровайте экшепшены - суть не изменится.
Если расписать ее словами - у вас из трех тестов два негативные, которые тестируют не функционал (операцию сложение), а значения вне диапазона работы устройства.
И лишь один тест (1+10) тестирует функционал. Но лично мне его результат ни о чем не говорит - а вдруг вместо сложения выполняется побитовая операция ИЛИ?
  • 0

#67 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 12 сентября 2014 - 11:21

Да никто - я просто привел иллюстрацию.
Если расписать ее словами - у вас из трех тестов два негативные, которые тестируют не функционал (операцию сложение), а значения вне диапазона работы устройства.
И лишь один тест (1+10) тестирует функционал. Но лично мне его результат ни о чем не говорит - а вдруг вместо сложения выполняется побитовая операция ИЛИ?

 

я не собираюсь опровергать и/или придумывать контр аргументы на каждую вашу выдумку.

по мне так задача элементарная и основана на ограниченных вводных данных, и помимо прочего ревьюер (я так же даю подобную задачу на собеседовании и сужу по себе) помимо ответа на очевидный вопрос проверяет насколько кандидат способен ограничивать себя в воображении для достижения максимально ожидаемого результата.

 

Разница между вами и мной в данном случае в том, что я поставленную задачу решил, а вы начали выдумывать условия невозможности её реализации.

 

Ничего личного.

 

YVLig568KUQ.jpg


  • 0

#68 ryjii

ryjii

    Активный участник

  • Members
  • PipPip
  • 101 сообщений
  • Город:Санкт-Петербург

Отправлено 12 сентября 2014 - 13:04

Я много раз хотел включиться в вашу дискуссию, мне кажется, сейчас самый подходящий момент.

Мне кажется, разные решения задачи, и даже разные пути решения подойдут для разного работодателя в большей или меньшей степени.

Всё зависит от того, какой подход работодатель хочет увидеть в дальнейшей работе потенциального коллеги.

Мне бы не понравился ответ BadMF, если бы он был категоричным, как в последних постах.

Дело в том, что формально это правильный подход для приложения, которое скорее всего складывает верно, но может продолбать граничные условия.

Если же ваши тестируемые приложения скорее вместо сложения вставят побитовый ксор, вы бы хотели видеть больше позитивных тестов, и меньше негативных.

Например, так: (0, 1); (6,4); (9,9).

 

А идеальным с моей точки зрения было бы попробовать сначала уточнить все сомнения (насчёт наличия кнопки 0 и всё в таком духе), а потом выдать соответствующий ответ.

А если собеседующий отказывается уточнять - дать несколько ответов с обоснованием, в каких случаях они подойдут больше, и выбрать из них наиболее правильный со своей точки зрения.


  • 2

#69 Pinny

Pinny

    Новый участник

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Пискун Алена Олеговна

Отправлено 27 июня 2019 - 10:46

Согласна, порядок действий должен быть правильным. Несмотря на легкость понимания, очередность выполнения операций жизненно важна, так как все сложные формулы (логарифмы, интегралы и так далее) по сути представляют собой сокращенную форму написания длинной цепи простых вычислений.


  • 0

Не обольщайтесь, интернет начался не с того момента, когда Вы впервые его посетили.




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных