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

Фотография

задачка для тестирования


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

#81 kenedi

kenedi

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

  • Members
  • Pip
  • 15 сообщений

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

 

procedure void java_
разве можно 
одну и туже переменную несколько раз объявлять? не ошибка ли это с точки зрения java?)


Ошибка, нельзя так делать

 

добрый день.

Т.е. это ошибка с точки зрения JAVA? Можете подделится ссылкой или книгой где это расписано. Поиск не помог.

 


  • 0

#82 kenedi

kenedi

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

  • Members
  • Pip
  • 15 сообщений

Отправлено 02 сентября 2014 - 06:17

получается все в красном цвете отрицательные?

в зеленном цвете тоже будут отрицательные?

 

procedure void name (int paramname, int paramname)

procedure void name (int paramname, int paramname, int paramname)

procedure void name (long paramname, long paramname)

procedure void name (long paramname, long paramname, long paramname)

procedure void name (int paramname, long paramname)

procedure void name (int paramname, long paramname, long paramname)

procedure void name (long paramname, int paramname)

procedure void name (long paramname, int paramname, int paramname)

procedure void name (int paramname, long paramname, int paramname)

procedure void name (long paramname, int paramname, long paramname)

procedure void name (int paramname, int paramname, long paramname)

procedure void name (long paramname, long paramname, int paramname)

procedure int name (int paramname, int paramname)

procedure int name (int paramname, int paramname, int paramname)

procedure int name (long paramname, long paramname)

procedure int name (long paramname, long paramname, long paramname)

procedure int name (int paramname, long paramname)

procedure int name (int paramname, long paramname, long paramname)

procedure int name (long paramname, int paramname)

procedure int name (long paramname, int paramname, int paramname)

procedure int name (int paramname, long paramname, int paramname)

procedure int name (long paramname, int paramname, long paramname)

procedure int name (int paramname, int paramname, long paramname)

procedure int name (long paramname, long paramname, int paramname)


  • 0

#83 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 02 сентября 2014 - 08:02

 

 

procedure void java_
разве можно 
одну и туже переменную несколько раз объявлять? не ошибка ли это с точки зрения java?)


Ошибка, нельзя так делать

 

добрый день.

Т.е. это ошибка с точки зрения JAVA? Можете подделится ссылкой или книгой где это расписано. Поиск не помог.

 

 

Ну нельзя так писать в JAVA:

public void myMethod(int param1, int param1) {
        
    }

т.е. нельзя передавать 2 раза одну и ту же переменную, т.к. в этом нет смысла.

 

а вот так конечно же можно:

public void myMethod(int param1, int param2) {
        
    }

Где почитать не знаю - там основы ООП или что-то в этом роде


  • 1

#84 Aguero

Aguero

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

  • Members
  • Pip
  • 40 сообщений

Отправлено 02 сентября 2014 - 08:28

 

получается все в красном цвете отрицательные?

в зеленном цвете тоже будут отрицательные?

 

procedure void name (int paramname, int paramname)

procedure void name (int paramname, int paramname, int paramname)

procedure void name (long paramname, long paramname)

procedure void name (long paramname, long paramname, long paramname)

procedure void name (int paramname, long paramname)

procedure void name (int paramname, long paramname, long paramname)

procedure void name (long paramname, int paramname)

procedure void name (long paramname, int paramname, int paramname)

procedure void name (int paramname, long paramname, int paramname)

procedure void name (long paramname, int paramname, long paramname)

procedure void name (int paramname, int paramname, long paramname)

procedure void name (long paramname, long paramname, int paramname)

procedure int name (int paramname, int paramname)

procedure int name (int paramname, int paramname, int paramname)

procedure int name (long paramname, long paramname)

procedure int name (long paramname, long paramname, long paramname)

procedure int name (int paramname, long paramname)

procedure int name (int paramname, long paramname, long paramname)

procedure int name (long paramname, int paramname)

procedure int name (long paramname, int paramname, int paramname)

procedure int name (int paramname, long paramname, int paramname)

procedure int name (long paramname, int paramname, long paramname)

procedure int name (int paramname, int paramname, long paramname)

procedure int name (long paramname, long paramname, int paramname)

 

мне кажется все тесты не пройдут, так как paramname повторятся и точка с запятой в конце отсутствует


  • 0

#85 kenedi

kenedi

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

  • Members
  • Pip
  • 15 сообщений

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

 

 

получается все в красном цвете отрицательные?

в зеленном цвете тоже будут отрицательные?

 

procedure void name (int paramname, int paramname)

procedure void name (int paramname, int paramname, int paramname)

procedure void name (long paramname, long paramname)

procedure void name (long paramname, long paramname, long paramname)

procedure void name (int paramname, long paramname)

procedure void name (int paramname, long paramname, long paramname)

procedure void name (long paramname, int paramname)

procedure void name (long paramname, int paramname, int paramname)

procedure void name (int paramname, long paramname, int paramname)

procedure void name (long paramname, int paramname, long paramname)

procedure void name (int paramname, int paramname, long paramname)

procedure void name (long paramname, long paramname, int paramname)

procedure int name (int paramname, int paramname)

procedure int name (int paramname, int paramname, int paramname)

procedure int name (long paramname, long paramname)

procedure int name (long paramname, long paramname, long paramname)

procedure int name (int paramname, long paramname)

procedure int name (int paramname, long paramname, long paramname)

procedure int name (long paramname, int paramname)

procedure int name (long paramname, int paramname, int paramname)

procedure int name (int paramname, long paramname, int paramname)

procedure int name (long paramname, int paramname, long paramname)

procedure int name (int paramname, int paramname, long paramname)

procedure int name (long paramname, long paramname, int paramname)

 

мне кажется все тесты не пройдут, так как paramname повторятся и точка с запятой в конце отсутствует

 

согласно user12 получается в красном и зеленом отрицательные , ищу литературу для увереноости.

 

     
  • 0

#86 evilinyoursoul

evilinyoursoul

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

  • Members
  • Pip
  • 2 сообщений

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

Всем привет, не могу понять, являются ли такие строки не избыточными и правильными:

 

procedure void Name (int i, long l); 
procedure void Name (long l, int i); 

procedure void Name (int i, int b);

 

и далее, с тремя параметрами - аналогично., т.е. где изменен порядок параметров или дважды указаны параметры одного типа.


  • 0

#87 albina_

albina_

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Федорова Альбина Валерьевна
  • Город:Санкт-Петербург

Отправлено 09 сентября 2014 - 22:45

Доброго времени суток!

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

Подскажите,что еще я не вижу?

 

 

Положительные тесты:
procedure void data ();
procedure int data ();
procedure void data (int data2);
procedure int data (int data2);
procedure void data (long data2);
procedure int data (long data2);
procedure int data (int data2, int data3);
procedure int data (long data2, long data3);
procedure int data (int data2, long data3);
procedure int data (long data2, int data3);
procedure void data (int data2, int data3);
procedure void data (long data2, long data3);
procedure void data (int data2, long data3);
procedure void data (long data2, int data3);
procedure void data (long data2, int data3, int data4, int data5, int data6, int data7);

С моей точки зрения минимальный необходимый набор.

Отрицательные тесты:
jjjjl;jkl ();
0dfhdfghj int ();
procedure 0dfhdfghj int ();
procedure int data ()
procedure float data ();
procedure catch data ();
procedure int goto ();
procedure int 0data ();
procedure void data (data2);
procedure int data (long);
procedure data (long data2);
procedure int data (int data2 int data3);
procedure int data (int data2, int data3)
procedure int data (long data2, data3);
procedure int data (int data2, long);
procedure data (long data2, int data3);
procedure void data (int data2, int data2);
procedure void data2 (long data2, long data3);
procedure void data (float data2, long data3);
procedure void data (long data2, float data3);
procedure void data (long data2, int data3, int data4 int data5, int data6, int data7);

С моей точки зрения минимальный необходимый набор.


  • 0

#88 evilinyoursoul

evilinyoursoul

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

  • Members
  • Pip
  • 2 сообщений

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

Доброго времени суток!

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

Подскажите,что еще я не вижу?

 

 

Положительные тесты:
procedure void data ();
procedure int data ();
procedure void data (int data2);
procedure int data (int data2);
procedure void data (long data2);
procedure int data (long data2);
procedure int data (int data2, int data3);
procedure int data (long data2, long data3);
procedure int data (int data2, long data3);
procedure int data (long data2, int data3);
procedure void data (int data2, int data3);
procedure void data (long data2, long data3);
procedure void data (int data2, long data3);
procedure void data (long data2, int data3);
procedure void data (long data2, int data3, int data4, int data5, int data6, int data7);

С моей точки зрения минимальный необходимый набор.

Отрицательные тесты:
jjjjl;jkl ();
0dfhdfghj int ();
procedure 0dfhdfghj int ();
procedure int data ()
procedure float data ();
procedure catch data ();
procedure int goto ();
procedure int 0data ();
procedure void data (data2);
procedure int data (long);
procedure data (long data2);
procedure int data (int data2 int data3);
procedure int data (int data2, int data3)
procedure int data (long data2, data3);
procedure int data (int data2, long);
procedure data (long data2, int data3);
procedure void data (int data2, int data2);
procedure void data2 (long data2, long data3);
procedure void data (float data2, long data3);
procedure void data (long data2, float data3);
procedure void data (long data2, int data3, int data4 int data5, int data6, int data7);

С моей точки зрения минимальный необходимый набор.

Читать ответ неудобно, разбейте на классы эквивалентности (в теме выше было об этом)

Ну, например, нет русских букв в переменных.

И почему это фейл - procedure int data (int data2 int data3); ?


  • 0

#89 vmaximv

vmaximv

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

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

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

Подскажите,что еще я не вижу?

У вас нету тестов на

<name>, <param name> - идентификаторы, соответствующие требованиям java.


  • 0

#90 albina_

albina_

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Федорова Альбина Валерьевна
  • Город:Санкт-Петербург

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

Доброго времени суток!
С разных сторон пыталась подступиться к данному заданию (итоговое решение прилагаю). Но ответ,что тестовых сценариев не достаточно.
Подскажите,что еще я не вижу?
 
 
Положительные тесты:
procedure void data ();
procedure int data ();
procedure void data (int data2);
procedure int data (int data2);
procedure void data (long data2);
procedure int data (long data2);
procedure int data (int data2, int data3);
procedure int data (long data2, long data3);
procedure int data (int data2, long data3);
procedure int data (long data2, int data3);
procedure void data (int data2, int data3);
procedure void data (long data2, long data3);
procedure void data (int data2, long data3);
procedure void data (long data2, int data3);
procedure void data (long data2, int data3, int data4, int data5, int data6, int data7);
С моей точки зрения минимальный необходимый набор.
Отрицательные тесты:
jjjjl;jkl ();
0dfhdfghj int ();
procedure 0dfhdfghj int ();
procedure int data ()
procedure float data ();
procedure catch data ();
procedure int goto ();
procedure int 0data ();
procedure void data (data2);
procedure int data (long);
procedure data (long data2);
procedure int data (int data2 int data3);
procedure int data (int data2, int data3)
procedure int data (long data2, data3);
procedure int data (int data2, long);
procedure data (long data2, int data3);
procedure void data (int data2, int data2);
procedure void data2 (long data2, long data3);
procedure void data (float data2, long data3);
procedure void data (long data2, float data3);
procedure void data (long data2, int data3, int data4 int data5, int data6, int data7);
С моей точки зрения минимальный необходимый набор.

Читать ответ неудобно, разбейте на классы эквивалентности (в теме выше было об этом)
Ну, например, нет русских букв в переменных.
И почему это фейл - procedure int data (int data2 int data3); ?

Спасибо большое за ответ!
Про классы эквивалентности и русские буквы в отрицательных тестах учту. Но главная указанная ошибка не достаточное кол-во тестовых сценариев. Сомневаюсь, что если прибавить еще одну-две строчки на проверку name с русскими буквами этого будет достаточно? Вероятно, есть еще что-то?
  • 0

#91 albina_

albina_

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Федорова Альбина Валерьевна
  • Город:Санкт-Петербург

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

Подскажите,что еще я не вижу?

У вас нету тестов на

<name>, <param name> - идентификаторы, соответствующие требованиям java.


Спасибо большое за ответ! В отрицательных тестах я начинала идентификаторы с нуля и использовала невозможное с точки зрения языка java - goto. Этого критически мало?
  • 0

#92 vmaximv

vmaximv

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

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

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

По критичности ничего вам не подскажу. А вот то, что на клавиатуре есть не только буквы и цифры - это факт.
  • 0

#93 albina_

albina_

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Федорова Альбина Валерьевна
  • Город:Санкт-Петербург

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

 

Доброго времени суток!

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

Подскажите,что еще я не вижу?

 

 

Положительные тесты:
procedure void data ();
procedure int data ();
procedure void data (int data2);
procedure int data (int data2);
procedure void data (long data2);
procedure int data (long data2);
procedure int data (int data2, int data3);
procedure int data (long data2, long data3);
procedure int data (int data2, long data3);
procedure int data (long data2, int data3);
procedure void data (int data2, int data3);
procedure void data (long data2, long data3);
procedure void data (int data2, long data3);
procedure void data (long data2, int data3);
procedure void data (long data2, int data3, int data4, int data5, int data6, int data7);

С моей точки зрения минимальный необходимый набор.

Отрицательные тесты:
jjjjl;jkl ();
0dfhdfghj int ();
procedure 0dfhdfghj int ();
procedure int data ()
procedure float data ();
procedure catch data ();
procedure int goto ();
procedure int 0data ();
procedure void data (data2);
procedure int data (long);
procedure data (long data2);
procedure int data (int data2 int data3);
procedure int data (int data2, int data3)
procedure int data (long data2, data3);
procedure int data (int data2, long);
procedure data (long data2, int data3);
procedure void data (int data2, int data2);
procedure void data2 (long data2, long data3);
procedure void data (float data2, long data3);
procedure void data (long data2, float data3);
procedure void data (long data2, int data3, int data4 int data5, int data6, int data7);

С моей точки зрения минимальный необходимый набор.

Читать ответ неудобно, разбейте на классы эквивалентности (в теме выше было об этом)

Ну, например, нет русских букв в переменных.

И почему это фейл - procedure int data (int data2 int data3); ?

 

По поводу - procedure int data (int data2 int data3); - в отсутствии запятой?  


  • 0

#94 uga

uga

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

  • Banned
  • Pip
  • 18 сообщений
  • ФИО:uga

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

Мне не очень понятно само задание

Почитайте здесь и подумайте.


 

 


#95 Scheuchzeri

Scheuchzeri

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

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Андрей

Отправлено 13 февраля 2015 - 15:11

На пяти страницах обсуждено практически всё, но у меня такой вопрос: имеет ли смысл тестировать строку, начниающуюся с пробела, или заканчивающуюся на него? И если имеет, то это будет негативный тест?


  • 0

#96 Michael1980

Michael1980

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Голубев Михаил Александрович

Отправлено 06 марта 2015 - 17:45

Приветствую всех. Отправил такое решение и получил ответ, что набор недостаточен (не по количеству, а упущены некоторые важные моменты). Буду рад, если подскажете, что упущено.

 

1.1.  Нет знака “=”. Видимо, считается, что Декларация = procedure <return type> <name> {[<para param type> <param name>{, <param type> <param name>}]);.

1.2.  Угловые скобки “<” и “>” упразднены в РБНФ, но видимо это сделано для понимания структуры декларации.

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

1.4.  Символ “;” может значить конец декларации, но там уже есть точка. Видимо, он должен присутствовать в этом месте именно как символ точки с запятой, тогда он должен быть в двойных кавычках “;”.

1.5. Круглые скобки “(” и “)” видимо тоже должны быть в кавычках.

1.6. Слово procedure, видимо тоже должно быть в кавычках.

1.7. <name>,  <param name>  — идентификаторы,  соответствующие требованиям java.  Я буду использовать в качестве идентификатора, который удовлетворяет условиям, латинскую строчную i (оставляю за рамками все вопросы относительно идентификаторов).

1.8. Символы пробелов, видимо считаются значащими.

Всё дальнейшее изложено с учётом этих догадок (на самом деле всё это нужно уточнять при постановке задачи). Необходимый и достаточный набор тестов составить не получится, так как в самой декларации заложена “бесконечность” – конструкция повторения {}. Нужно какое-то разумное ограничение, например 2-е группы параметров, разделённые запятой в круглых скобках.

Тогда набор тестов с положительным результатом будет таким:

procedure void i ();

procedure int i ();

procedure void i (int i);

procedure void i (long i);

procedure int i (int i);

procedure int i (long i);

procedure void i (int i, int i);

procedure void i (int i, long i);

procedure void i (long i, int i);

procedure void i (long i, long i);

procedure int i (int i, int i);

procedure int i (int i, long i);

procedure int i (long i, int i);

procedure int i (long i, long i);

В силу заложенной “бесконечности” невозможно проверить все положительные варианты строк. Проверять негативные варианты нет смысла. Но в силу наложенного мною ограничения в 2-е группы параметров, разделённые запятой в круглых скобках можно предложить общее правило для негативных тестов – вносить ошибку в каждый последовательный элемент декларации не изменяя остальные, учитывая возможные варианты этого элемента.

proced void i ();

procedure voi i ();

procedure in i ();

procedure void case ();

procedure void i (;

procedure void i (in i);

procedure void i (lo i);

и т.д.


  • 0

#97 VinnieJohns

VinnieJohns

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

  • Members
  • PipPip
  • 112 сообщений
  • ФИО:Дмитрий Новиков


Отправлено 06 марта 2015 - 21:16

 

Приветствую всех. Отправил такое решение и получил ответ, что набор недостаточен (не по количеству, а упущены некоторые важные моменты). Буду рад, если подскажете, что упущено.. 

 

Ув. некропостер, в этой теме есть полный ответ на это задание. Настолько полный, что Яндексу следовало бы давно уже поменять свой тест, и тот факт, что они этого пока не сделали, говорит не в пользу "кандидатов" на их позиции. =)

 

Если не получается сдать задачку даже с пятью страницами подсказок - выдохни и попробуй позже. Значит, ещё не время.Удачи.

 

Upd: позволю себе заметить ещё, что таки да, в твоём наборе "упущены некоторые важные моменты". Перечитай формулировку задания, пересмотри критически пункты 1.1.-1.8., которые ты тут привёл. Если не поможет - попробуй через несколько месяцев (лет).


  • 0

#98 Michael1980

Michael1980

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Голубев Михаил Александрович

Отправлено 07 марта 2015 - 09:38

To VinnieJohns: Спасибо за реакцию. Хотя про некропостера (задача до сих пор актуальна у Яндекса) и про полный ответ (идей высказано много, некоторые заслуживают внимания, некоторые нет) это Вы зря.

 

У меня вопрос: Вы сами оправляли это ПОЛНОЕ решение задачи (Я его здесь так и не увидел) и если да, то получали ли положительный ответ? А совет думать своей головой, он всегда актуален, только вряд ли такой совет можно назвать помощью. Иногда лучше промолчать, если нечего сказать по существу. Никого не хотел обидеть.

 

Я думаю, надо было негативные полностью написать (без и т.д.). Туда как раз попали и идентификаторы, не удовлетворяющие требованиям JAVA (расписать их полностью, а не только procedure void case ();).


  • 0

#99 VinnieJohns

VinnieJohns

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

  • Members
  • PipPip
  • 112 сообщений
  • ФИО:Дмитрий Новиков


Отправлено 07 марта 2015 - 16:34

To VinnieJohns: Спасибо за реакцию. Хотя про некропостера (задача до сих пор актуальна у Яндекса) и про полный ответ (идей высказано много, некоторые заслуживают внимания, некоторые нет) это Вы зря.

 

У меня вопрос: Вы сами оправляли это ПОЛНОЕ решение задачи (Я его здесь так и не увидел) и если да, то получали ли положительный ответ? А совет думать своей головой, он всегда актуален, только вряд ли такой совет можно назвать помощью. Иногда лучше промолчать, если нечего сказать по существу. Никого не хотел обидеть.

 

Я думаю, надо было негативные полностью написать (без и т.д.). Туда как раз попали и идентификаторы, не удовлетворяющие требованиям JAVA (расписать их полностью, а не только procedure void case ();).

 

Эмм, когда я говорил, что в теме есть "полное" решение, я совсем не имел в виду, что оно целиком приложено в каком-то одном посте.
 
По поводу вопроса: отправлял дважды на разные позиции и оба раза получал положительный ответ. Скажу ещё, что "good enough" уровень исполнения задания отличается в зависимости от уровня позиции, на которую кандидат претендует. 
Правда, не могу не заметить, что твой вопрос является чересчур личным и\или попахивает дешёвой риторикой.
 
"По существу" я, кажется, написал вполне буквально: "пересмотри критически пункты 1.1.-1.8." Поскольку у тебя "Всё дальнейшее изложено с учётом этих догадок", то и ошибки, допущенные при выполнении задания следует в первую очередь искать именно тут.
Если это "нечего сказать", то я делаю вывод, что ответами "по существу" ты считаешь буквальные ответы, вроде списка пропущенных тестов. А т.к. такая "помощь" не в моих правилах, с сожалением признаю, что не могу тебе чем-то помочь.

  • 0

#100 Michael1980

Michael1980

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Голубев Михаил Александрович

Отправлено 08 марта 2015 - 16:11

To VinnieJohns: Ничего личного и не риторика. Просто хотелось знать, что Вы не просто любитель по-писать сообщения "ниочём".

Получить на просьбу подсказать что упущено ответ в виде "Да, упущено" - мягко скажем странно.

Ни кто в этой теме (в том числе и Я) не просил написать готовое решение, все спрашивали о том, что упущено из виду и получали/не получали соответствующие комментарии.

Если Вы видите ошибки в моих пунктах 1.1.-1.8. или вообще в решении и хотите высказаться - выскажитесь. Вот это будет "по существу".

 

Позволю дать Вам совет, не стоит писать  в таком высокомерном стиле. Меня это не задевает, но может задевать других людей.


  • 1


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

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