Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Определение полноты охвата ветвей при тестировании






 

В области проектировании программного обеспечения существует несколько опре­ делений тестирования ветвей. Наиболее традиционное определение гласит, что ветвь — это последовательность выполнения операторов исходного кода, начинаю­ щаяся с точки входа или условного разветвления и заканчивающаяся следующим ус­ ловным разветвлением или точкой выхода. Такие ветви были названы DD-ветвями (от decision-to-decision path — ветвь типа " решение-решение"). Теоретики подхода быстрого тестирования признают бесперспективность попыток обеспечить при тестировании полный охват всех DD-ветвей и рекомендуют вместо этого использовать программное средство автоматизации документирования всех DD-ветвей в исходном коде. Кроме того, на этапе тестирования блоков или комплексных испытаний необходимо определить приоритеты тестирования, чтобы испытания обязательно охватывали поднабор DD-ветвей, в которых вероятность наличия ошибки наиболее высока.

 

Листинг программы, приведенный на рис. 10.2, был создан в период 1979-1981г.г., когда авторы разрабатывали систему тестирования программного обеспечения (Soft­ ware Testing System, STS). Эта система предназначалась для внутреннего использова­ ния в корпорации Texas Instruments, Inc., основанной организацией Advanced Soft­ ware Technology (AST). STS была программным инструментом, который позволял программистам на языке Fortran выполнять перечисление ветвей исходного кода. Для тестировщика STS служила удобным средством определения нужных значений переменных программы для перемещения программного счетчика по конкретной DD-ветви. STS могла устанавливать зонды в каждой DD-ветви. Во время выполнения эти зонды регистрировали номера DD-ветвей по мере их выполнения. После не­ скольких запусков программы анализ журнальных файлов позволял выяснить, какие DD-ветви не выполнялись. В случае аварийного прерывания выполнения программы журнальный файл, содержащий трассировку ветвей, объединялся с файлом с прону­ мерованными строками исходного кода, что позволяло генерировать отчеты, содер­ жащие строки исходного кода в порядке, обратном выполнению. Этот файл был очень полезен во время отладки, поскольку его можно было загрузить в текстовый редактор и выполнять поиск имен переменных, которые были связаны с прерывани­ ем программы.

 

ADVANCED SOFTWARE TECHNOLOGY — FORTRAN SOFTWARE TESTING SYSTEM — (STS)

 

DATE: 12/08/80 TIME: 12: 40: 34 PAGE:  
THE OPTIONS IN EFFECT FOR THIS RUN OF STS STATIC ANALYZER ARE:    
LIST = INPUT    
SCANONLY = NO    
APPEND = NO    
TYPE = BOTH    
TIMEFIO = NO    
DOPTION = NO    
COPY = YES    

      Глава 10. Технологии динамического тестирования и советы  
1* С   THIS PROGRAM WILL SPLIT A FILE WITH < REP CARDS IN IT TO A DIRECTORY  
2* С   AND LIST THE MEMBER NAMES OF ALL THE FILES CREATED.  
3* С                        
4* С   UNIT5 INPUT (PARM1)      
5* С   UNIT6 OUTPUT DIRECTORY (PARM2)    
6* С   UNIT7 LIST (PARM3)      
7* С                        
8*       IMPLICIT INTEGER*2 (A-Z)    
9*       LOGICAL HEQ, HNE, FIRST, NEWMEM, GETYNO, ASCII  
10*       DIMENSION            
        CARD(80), PATH80(80), PATH40(40), CHARS(4), OLDMEM(4)  
11*       DATA CBB, FIRST, ASCII/2H,.TRUE.,.FALSE./  
12*       DATA LESSTH, R, E, P/2H<, 2HR, 2HE, 2HP /  
13*       FORMAT(80A1)          
14*       CALL SCIINT(IERR)      
15* С                      
16*   С   OPENFH LUNO, PARM, ACCESS, BKSZ)    
17* С                      
18*       CALL OPENFL(5, 1, 1, 80)    
19*       CALL OPENFL(7, 3, 3, 80)    
20*       ASCII=GETYNO(4, IERR)      
21*       CALL BANNER(ASCII)      
22*     CALL GETDIR(PATH80, NDEX, 2)    
23*       NDEXM2=NDEX-2        
24*       WRITE(7, 5000) (PATH80(I), 1=1, NDEXM2)    
25*       WRITE(7, 6000)        
26*       FORMAT(' THE OUTPUT DIRECTORY', /, IX, 79A1)  
27*     FORMAT! //, ' FILE WITHIN OUTPUT DIRECTORY NUMBER  
        RECORDS')            
28*     NRECS=0            
29*     RECCNT=0            
30*                          
31*                          
32*                          
33*                          
34*     CONTINUE            
35*     DO INDEX 1=1, 80      
36*     CARD(I)=CBB          
37*     END DO              
38*     READ(5, 1000, END=100) CARD    
39*     IF(ASCII) CALL EBCDIC(2, CARD, 0)    
40*     С WRITE(10, 1000) CARD    
41*     NEWMEM=(CARD(l).EQ.LESSTH.AND.CARD(2).EQ.R.AND.CARD(3).EQ.E.  
        MODULE NAME MAIN      
ADVANCED SOFTWARE TECHNOLOGY — FORTRAN SOFTWARE TESTING SYSTEM —(STS)  
    DATE: 12/08/80           TIME: 12: 40: 44 PAGE:  
42*     & AND.CARDH).EQ.P)      
43* С   WRITE(10, 111) CHARS, NDX, LEN    
44*     FORMATC AT 111 '4A2, 2X, 2110)    
45*     IF(FIRST.AND.(.NOT.NEWMEM))    
4 6*     THEN              
47*     WRITE(7, 1500)        






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.