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

Фотография

Техники тест-дизайна

statement coverage test-design

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

#1 Lyalichka

Lyalichka

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

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

Отправлено 02 марта 2015 - 22:26

Всем привет! 

Поправьте, пожалуйста, если я не права.

Есть задание.

Нужно  определить значения входных данных для тестовых сценариев, которые покрывают:

 

1) все операторы

2) все решения

3) все условия 

 

кода некоторой программы:

 

Read Stat1

Read Stat2

if Stat1=1 then

      Print "ok"

      if Stat2=3 then

            Print "okey"

            else Print "not ok"

      end if

      else Print "not ok"

end if

 

Правильно ли я понимаю, что в данном случае для всех трех пунктов минимальным возможным количеством тестов будет 3, при чем, значения входных данных будут одинаковые?

 


  • 0

#2 lurk

lurk

    Постоянный участник

  • Members
  • PipPipPip
  • 180 сообщений


Отправлено 03 марта 2015 - 04:28

Нет, неправильно, например, для покрытия операторов достаточно 1 теста.


  • 0

#3 Lyalichka

Lyalichka

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

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

Отправлено 03 марта 2015 - 05:01

Нет, неправильно, например, для покрытия операторов достаточно 1 теста.

 

для покрытия операторов нужно только задать значения, при которых программа отработает хотя бы по ветке тру при обоих условиях? т.е. Stat1=1, Stat2=3? для покрытия условий, все условия нужно загнать и в тру, и в фолс хотя бы раз, а покрытие решений - проверить все ветки? т.е. для последних двух вводимые значения будут одинаковы?

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


  • 0

#4 lurk

lurk

    Постоянный участник

  • Members
  • PipPipPip
  • 180 сообщений


Отправлено 03 марта 2015 - 05:46

Чем ветка фолс хуже тру, во втором случае?  

Прочитайте Майерса "Искусство тестирования программ", глава 4 - в ней расписана данная тема. 


  • 0

#5 Lyalichka

Lyalichka

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

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

Отправлено 03 марта 2015 - 07:25

Чем ветка фолс хуже тру, во втором случае?  
Прочитайте Майерса "Искусство тестирования программ", глава 4 - в ней расписана данная тема.


спасибо, почитаю)
  • 0

#6 Lyalichka

Lyalichka

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

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

Отправлено 03 марта 2015 - 08:28

Чем ветка фолс хуже тру, во втором случае?  
Прочитайте Майерса "Искусство тестирования программ", глава 4 - в ней расписана данная тема.


Почитала, но вопросы остались)
обьясните, пожалуйста, почему для покрытия всех операторов одного теста достаточно? Если, например, стат1=1, то мы никак не покроем часть кода "else". И этот кусок останется не покрыт. Или это и не нужно? Обьясните, если не сложно
  • 0

#7 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 03 марта 2015 - 08:35

Одного теста для всех операторов там недостаточно.
Но и для покрытия всех путей там 3 тестов не хватит.
Попробуйте построить управляющий граф, визуально легче представить, что куда идет.
  • 0

#8 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 03 марта 2015 - 11:02

Не, 3 тестов хватает, все верно :) Про 4 теста - моя ошибка.
  • 0

#9 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 03 марта 2015 - 11:04

А можно поинтересоваться, где выдают такие задания? Это на собеседовании или задача в вузе?
  • 0

#10 Lyalik

Lyalik

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

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

Отправлено 03 марта 2015 - 12:51

Не, 3 тестов хватает, все верно :) Про 4 теста - моя ошибка.

 

Извините, я автор темы, у меня почему-то заблокирован доступ к странице. Вы мне что-то отвечали  в личные сообщения? 

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

если читали мое личное сообщение, укажите, где я не права? 


  • 0

#11 Lyalik

Lyalik

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

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

Отправлено 03 марта 2015 - 12:53

А можно поинтересоваться, где выдают такие задания? Это на собеседовании или задача в вузе?

 

это задание дали на курсах от одной компании :)


  • 0

#12 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 03 марта 2015 - 13:13

Не, 3 тестов хватает, все верно :) Про 4 теста - моя ошибка.

 
Извините, я автор темы, у меня почему-то заблокирован доступ к странице. Вы мне что-то отвечали  в личные сообщения? 
С покрытием решений и условий  я более-менее разобралась, а вот с покрытием операторов проблемы. услышала кучу версий: кто говорит, что 1 теста будет достаточно, кто говорит, что нужно 3.
если читали мое личное сообщение, укажите, где я не права? 

Да, прочитал, но ответить не смог.
1 теста для покрытия операторов недостаточно, надо 3.

Я думаю, что вы правы.
  • 0

#13 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 03 марта 2015 - 13:17

А можно поинтересоваться, где выдают такие задания? Это на собеседовании или задача в вузе?

 
это задание дали на курсах от одной компании :)

Ок. Уж очень похоже именно на "учебное", но не "рабочее" :)
  • 0

#14 Lyalik

Lyalik

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

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

Отправлено 03 марта 2015 - 13:21

 

 

Не, 3 тестов хватает, все верно :) Про 4 теста - моя ошибка.

 
Извините, я автор темы, у меня почему-то заблокирован доступ к странице. Вы мне что-то отвечали  в личные сообщения? 
С покрытием решений и условий  я более-менее разобралась, а вот с покрытием операторов проблемы. услышала кучу версий: кто говорит, что 1 теста будет достаточно, кто говорит, что нужно 3.
если читали мое личное сообщение, укажите, где я не права? 

 

Да, прочитал, но ответить не смог.
1 теста для покрытия операторов недостаточно, надо 3.

Я думаю, что вы правы.

 

 

спасибо большое за помощь, а то сначала казалось, что всё понятно, а потом начала глубже вникать и запуталась) еще раз спасибо  :angel:


  • 0

#15 lurk

lurk

    Постоянный участник

  • Members
  • PipPipPip
  • 180 сообщений


Отправлено 03 марта 2015 - 16:59

Вики


  • 0

#16 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 04 марта 2015 - 07:54

Коллеги, а можно уточняющий вопрос?
Цитата из Вики:
 

Данный подход обладает недостатками. Вот, например, если в условии x > 1 программист допускает ошибку и пишет x < 1 или x > - 1, то с помощью нашего теста эта ошибка не будет обнаружена.

 

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


  • 0

#17 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 04 марта 2015 - 07:57

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

Чисто теоретически - да.
В реальности же ошибки проскакивают - и ведь как раз для этого и нужны тесты, не так ли?
  • 0

#18 lurk

lurk

    Постоянный участник

  • Members
  • PipPipPip
  • 180 сообщений


Отправлено 04 марта 2015 - 17:46

Коллеги, а можно уточняющий вопрос?
Цитата из Вики:
 

Данный подход обладает недостатками. Вот, например, если в условии x > 1 программист допускает ошибку и пишет x < 1 или x > - 1, то с помощью нашего теста эта ошибка не будет обнаружена.

 

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

Во первых, о statement coverage test  Майерс говорит, что он настолько слаб, что, как правило, оказывается бесполезным. 

Во вторых, можно, но, как и писал выше Freiman, с тестом лучше. 


  • 0

#19 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 04 марта 2015 - 18:39

Не, 3 тестов хватает, все верно :) Про 4 теста - моя ошибка.

Три -  Четыре...

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


  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 




Темы с аналогичным тегами statement, coverage, test-design

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

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