Ветвь освещения ::
покрытия Отрасль является обязательным требованием, что для каждой ветви в программе (например, если заявления, петли), каждая ветвь была выполнена, по меньшей мере один раз во время тестирования , (Это иногда также описано, как говорят, что каждое условие перехода должно быть правдой, по крайней мере один раз, и ложна хотя бы один раз во время тестирования.)
Заявление Покрытие ::
Заявление покрытия представляет собой метод тестирования белого ящика, который включает в себя выполнение всех инструкций хотя бы один раз в исходном коде. Это метрика, которая используется для вычисления и измерения количества операторов в исходном коде, который был выполнен.
Итак, попробуйте сделать номера строк в коде ::
1. READ A --> Added just to make it more clear
2. READ B --> Added just to make it more clear
3. IF A > B
4. THEN C = A – B
5. ELSE
6. C = A + B ENDIF
7. Read D
8. IF C = D
9. Then Print “Error” ENDIF
10. END OF PROGRAM
Таким образом, принимая во внимание вышеприведенные определения и принятия некоторых тестовых случаев ::
Test Case 1 :: A = 10 , B = 11, D = 21
отчетность Покрытие = 1, 2, 3, 5, 6, 7, 8, 9, 10.
Пример теста 2 :: А = 11, В = 10, D = 10
отчетность Покрытие = 1, 2, 3, 4, 7, 8, 10.
Таким образом, если вы посмотрите на приведенные заявления, вы поймете, что для охвата всех заявлений требуется всего 2 тестовых примера.
Теперь, приходя в Branch Покрытие
Если вы делаете блок-схему программы из кода выше, и происходит по приведенному выше определению, есть филиал в заявлении 3
и в заявлении 8
, так как они if
Условия поэтому, они могут быть true
или false
следовательно ветка есть. Таким образом, определение «Отраслевое покрытие» говорит о необходимости прохождения каждой ветви в программе.
Поскольку от 3
я могу пойти в любой 4
или 5
(на 2 ветви), скажем, филиал 3
к 4
является 3L
и ветви 3
к 5
является 3R
(L и R означают левый и правый). Аналогично для заявления 8
, 2 ответвления могут быть 8
до 10
(если C != D
) и 8
до 9
, а затем 10
. Пусть эти две ветви тогда называются 8L
и 8R
соответственно. (Просто именование для понимания)
Таким образом, из Test Case 2 вы можете понять, что вы покрыли вашу ветку 3L
и 8R
от Case Test 1, вы можете понять, что вы покрыли вашу ветку 3R
и 8L
Итак, всего за 2 тестовых примера вы охватили все свои филиалы и заявления.
Надеюсь, это поможет вам очистить! Пытался изо всех сил. На всякий случай, когда вы не понимаете, попробуйте сделать график потока программ и перечитайте ответ.
EDIT :: В описании вопроса вы цитируете
Я решил как 3 ветви (1. Если A> B верно 2.Если A> B ложно 3.если C = D истинно) и 3 оператора (C = A + B, C = A-B и Error).
Каждая строка, которую я пронумеровала, является заявлением, а не только теми, что вы написали. Кроме того, для каждого if
существует 4 филиала 2. Дело в том, чтобы охватить каждую ветвь и каждое утверждение тестовыми примерами. И вопрос также спрашивает, сколько тестовых случаев необходимо, а не количество ветвей и заявлений!
Правильно отформатируйте код. – dramzy
@RespectMyAuthoritah сделано! – limonik