Тестирование приложений. Обеспечения Базовый курс (3е издание) Версия книги 15 от 31. 03. 2022
Скачать 5.07 Mb.
|
) IF EXIST "OUT\«Мелкий» файл в KOI8_R.md" ( echo OK! '«Мелкий» файл в KOI8_R.md' file was processed! >> smoke_test.log ) ELSE ( echo ERROR! '«Мелкий» файл в KOI8_R.md' file was NOT processed! >> smoke_test.log ) IF EXIST "OUT\Слишком большой файл.txt" ( echo ERROR! 'Too big' file was processed! >> smoke_test.log ) ELSE ( echo OK! 'Too big' file was NOT processed! >> smoke_test.log ) IF EXIST "OUT\Картинка.jpg" ( echo ERROR! Picture file was processed! >> smoke_test.log ) ELSE ( echo OK! Picture file was NOT processed! >> smoke_test.log ) IF EXIST "OUT\Картинка в виде TXT.txt" ( echo OK! Picture file with TXT extension was processed! >> smoke_test.log ) ELSE ( echo ERROR! Picture file with TXT extension was NOT processed! >> smoke_test.log ) IF EXIST "OUT\Пустой файл.md" ( echo OK! Empty was processed! >> smoke_test.log ) ELSE ( echo ERROR! Empty file was NOT processed! >> smoke_test.log ) rem ========================================================================= rem ========================================================================= rem Проверка удаления из входного каталога файлов, rem которые должны быть обработаны, rem и неудаления файлов, которые не должны быть обработаны: echo. >> smoke_test.log echo Moving test: >> smoke_test.log IF NOT EXIST "IN\«Мелкий» файл в WIN1251.txt" ( echo OK! '«Мелкий» файл в WIN1251.txt' file was moved! >> smoke_test.log ) ELSE ( echo ERROR! '«Мелкий» файл в WIN1251.txt' file was NOT moved! >> smoke_test.log ) IF NOT EXIST "IN\«Средний» файл в CP866.txt" ( echo OK! '«Средний» файл в CP866.txt' file was moved! >> smoke_test.log ) ELSE ( echo ERROR! '«Средний» файл в CP866.txt' file was NOT moved! >> smoke_test.log ) IF NOT EXIST "IN\«Крупный» файл в KOI8R.txt" ( echo OK! '«Крупный» файл в KOI8R.txt' file was moved! >> smoke_test.log ) ELSE ( echo ERROR! '«Крупный» файл в KOI8R.txt' file was NOT moved! >> smoke_test.log ) IF NOT EXIST "IN\«Крупный» файл в win-1251.html" ( echo OK! '«Крупный» файл в win-1251.html' file was moved! >> smoke_test.log ) ELSE ( echo ERROR! '«Крупный» файл в win-1251.html' file was NOT moved! >> smoke_test.log ) IF NOT EXIST "IN\«Мелкий» файл в cp-866.html" ( echo OK! '«Мелкий» файл в cp-866.html' file was moved! >> smoke_test.log ) ELSE ( echo ERROR! '«Мелкий» файл в cp-866.html' file was NOT moved! >> smoke_test.log ) IF NOT EXIST "IN\«Средний» файл в koi8-r.html" ( echo OK! '«Средний» файл в koi8-r.html' file was moved! >> smoke_test.log ) ELSE ( echo ERROR! '«Средний» файл в koi8-r.html' file was NOT moved! >> smoke_test.log ) Командные файлы для Windows и Linux Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 283/298 IF NOT EXIST "IN\«Средний» файл в WIN_1251.md" ( echo OK! '«Средний» файл в WIN_1251.md' file was moved! >> smoke_test.log ) ELSE ( echo ERROR! '«Средний» файл в WIN_1251.md' file was NOT moved! >> smoke_test.log ) IF NOT EXIST "IN\«Крупный» файл в CP_866.md" ( echo OK! '«Крупный» файл в CP_866.md' file was moved! >> smoke_test.log ) ELSE ( echo ERROR! '«Крупный» файл в CP_866.md' file was NOT moved! >> smoke_test.log ) IF NOT EXIST "IN\«Мелкий» файл в KOI8_R.md" ( echo OK! '«Мелкий» файл в KOI8_R.md' file was moved! >> smoke_test.log ) ELSE ( echo ERROR! '«Мелкий» файл в KOI8_R.md' file was NOT moved! >> smoke_test.log ) IF NOT EXIST "IN\Слишком большой файл.txt" ( echo ERROR! 'Too big' file was moved! >> smoke_test.log ) ELSE ( echo OK! 'Too big' file was NOT moved! >> smoke_test.log ) IF NOT EXIST "IN\Картинка.jpg" ( echo ERROR! Picture file was moved! >> smoke_test.log ) ELSE ( echo OK! Picture file was NOT moved! >> smoke_test.log ) IF NOT EXIST "IN\Картинка в виде TXT.txt" ( echo OK! Picture file with TXT extension was moved! >> smoke_test.log ) ELSE ( echo ERROR! Picture file with TXT extension was NOT moved! >> smoke_test.log ) rem ========================================================================= cls rem ========================================================================= rem Проверка конвертации файлов путём сравнения rem результатов работы приложения с эталонными файлами: echo. >> smoke_test.log echo Comparing test: >> smoke_test.log :st1 fc "Test_ETALON\«Мелкий» эталон WIN1251.txt" "OUT\«Мелкий» файл в WIN1251.txt" /B > nul IF ERRORLEVEL 1 GOTO st1_fail echo OK! File '«Мелкий» файл в WIN1251.txt' was processed correctly! >> smoke_test.log GOTO st2 :st1_fail echo ERROR! File '«Мелкий» файл в WIN1251.txt' was NOT processed correctly! >> smoke_test.log :st2 fc "Test_ETALON\«Средний» эталон CP866.txt" "OUT\«Средний» файл в CP866.txt" /B > nul IF ERRORLEVEL 1 GOTO st2_fail echo OK! File '«Средний» файл в CP866.txt' was processed correctly! >> smoke_test.log GOTO st3 :st2_fail echo ERROR! File '«Средний» файл в CP866.txt' was NOT processed correctly! >> smoke_test.log :st3 fc "Test_ETALON\«Крупный» эталон KOI8R.txt" "OUT\«Крупный» файл в KOI8R.txt" /B > nul IF ERRORLEVEL 1 GOTO st3_fail echo OK! File '«Крупный» файл в KOI8R.txt' was processed correctly! >> smoke_test.log GOTO st4 :st3_fail echo ERROR! File '«Крупный» файл в KOI8R.txt' was NOT processed correctly! >> smoke_test.log :st4 fc "Test_ETALON\«Крупный» эталон в win-1251.html" "OUT\«Крупный» файл в win-1251.html" /B > nul IF ERRORLEVEL 1 GOTO st4_fail echo OK! File '«Крупный» файл в win-1251.html' was processed correctly! >> smoke_test.log GOTO st5 :st4_fail echo ERROR! File '«Крупный» файл в win-1251.html' was NOT processed correctly! >> smoke_test.log Командные файлы для Windows и Linux Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 284/298 :st5 fc "Test_ETALON\«Мелкий» эталон в cp-866.html" "OUT\«Мелкий» файл в cp-866.html" /B > nul IF ERRORLEVEL 1 GOTO st5_fail echo OK! File '«Мелкий» файл в cp-866.html' was processed correctly! >> smoke_test.log GOTO st6 :st5_fail echo ERROR! File '«Мелкий» файл в cp-866.html' was NOT processed correctly! >> smoke_test.log :st6 fc "Test_ETALON\«Средний» эталон в koi8-r.html" "OUT\«Средний» файл в koi8-r.html" /B > nul IF ERRORLEVEL 1 GOTO st6_fail echo OK! File '«Средний» файл в koi8-r.html' was processed correctly! >> smoke_test.log GOTO st7 :st6_fail echo ERROR! File '«Средний» файл в koi8-r.html' was NOT processed correctly! >> smoke_test.log :st7 fc "Test_ETALON\«Средний» эталон в WIN_1251.md" "OUT\«Средний» файл в WIN_1251.md" /B > nul IF ERRORLEVEL 1 GOTO st7_fail echo OK! File '«Средний» файл в WIN_1251.md' was processed correctly! >> smoke_test.log GOTO st8 :st7_fail echo ERROR! File '«Средний» файл в WIN_1251.md' was NOT processed correctly! >> smoke_test.log :st8 fc "Test_ETALON\«Крупный» эталон в CP_866.md" "OUT\«Крупный» файл в CP_866.md" /B > nul IF ERRORLEVEL 1 GOTO st8_fail echo OK! File '«Крупный» файл в CP_866.md' was processed correctly! >> smoke_test.log GOTO st9 :st8_fail echo ERROR! File '«Крупный» файл в CP_866.md' was NOT processed correctly! >> smoke_test.log :st9 fc "Test_ETALON\«Мелкий» эталон в KOI8_R.md" "OUT\«Мелкий» файл в KOI8_R.md" /B > nul IF ERRORLEVEL 1 GOTO st9_fail echo OK! File '«Мелкий» файл в KOI8_R.md' was processed correctly! >> smoke_test.log GOTO st10 :st9_fail echo ERROR! File '«Мелкий» файл в KOI8_R.md' was NOT processed correctly! >> smoke_test.log :st10 fc "Test_ETALON\Пустой файл.md" "OUT\Пустой файл.md" /B > nul IF ERRORLEVEL 1 GOTO st10_fail echo OK! File 'Пустой файл.md' was processed correctly! >> smoke_test.log GOTO end :st10_fail echo ERROR! File 'Пустой файл.md' was NOT processed correctly! >> smoke_test.log :end echo WARNING! File 'Картинка в виде TXT.txt' has NO etalon decision, and it's OK for this file to be corrupted. >> smoke_test.log rem ========================================================================= Bash- скрипт для Linux #!/bin/bash # Удаление файла журнала от прошлого запуска: rm -f smoke_test.log # Очистка входного каталога приложения: rm -r -f IN/* # Запуск приложения: php converter.php IN OUT converter.log & # Размещение тестовых файлов во входном каталоге приложения: cp Test_IN/* IN/ # Таймаут в 10 секунд, чтобы приложение успело обработать файлы: sleep 10 # Остановка приложения: killall php Командные файлы для Windows и Linux Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 285/298 # =========================================================================== # Проверка появления в выходном каталоге файлов, которые должны быть обработаны, # и непоявления файлов, которые не должны быть обработаны: echo "Processing test:" >> smoke_test.log if [ -f "OUT/«Мелкий» файл в WIN1251.txt" ] then echo "OK! '«Мелкий» файл в WIN1251.txt' file was processed!" >> smoke_test.log else echo "ERROR! '«Мелкий» файл в WIN1251.txt' file was NOT processed!" >> smoke_test.log fi if [ -f "OUT/«Средний» файл в CP866.txt" ] then echo "OK! '«Средний» файл в CP866.txt' file was processed!" >> smoke_test.log else echo "ERROR! '«Средний» файл в CP866.txt' file was NOT processed!" >> smoke_test.log fi if [ -f "OUT/«Крупный» файл в KOI8R.txt" ] then echo "OK! '«Крупный» файл в KOI8R.txt' file was processed!" >> smoke_test.log else echo "ERROR! '«Крупный» файл в KOI8R.txt' file was NOT processed!" >> smoke_test.log fi if [ -f "OUT/«Крупный» файл в win-1251.html" ] then echo "OK! '«Крупный» файл в win-1251.html' file was processed!" >> smoke_test.log else echo "ERROR! '«Крупный» файл в win-1251.html' file was NOT processed!" >> smoke_test.log fi if [ -f "OUT/«Мелкий» файл в cp-866.html" ] then echo "OK! '«Мелкий» файл в cp-866.html' file was processed!" >> smoke_test.log else echo "ERROR! '«Мелкий» файл в cp-866.html' file was NOT processed!" >> smoke_test.log fi if [ -f "OUT/«Средний» файл в koi8-r.html" ] then echo "OK! '«Средний» файл в koi8-r.html' file was processed!" >> smoke_test.log else echo "ERROR! '«Средний» файл в koi8-r.html' file was NOT processed!" >> smoke_test.log fi if [ -f "OUT/«Средний» файл в WIN_1251.md" ] then echo "OK! '«Средний» файл в WIN_1251.md' file was processed!" >> smoke_test.log else echo "ERROR! '«Средний» файл в WIN_1251.md' file was NOT processed!" >> smoke_test.log fi if [ -f "OUT/«Крупный» файл в CP_866.md" ] then echo "OK! '«Крупный» файл в CP_866.md' file was processed!" >> smoke_test.log else echo "ERROR! '«Крупный» файл в CP_866.md' file was NOT processed!" >> smoke_test.log fi if [ -f "OUT/«Мелкий» файл в KOI8_R.md" ] then echo "OK! '«Мелкий» файл в KOI8_R.md' file was processed!" >> smoke_test.log else echo "ERROR! '«Мелкий» файл в KOI8_R.md' file was NOT processed!" >> smoke_test.log fi if [ -f "OUT/Слишком большой файл.txt" ] then echo "ERROR! 'Too big' file was processed!" >> smoke_test.log else echo "OK! 'Too big' file was NOT processed!" >> smoke_test.log fi Командные файлы для Windows и Linux Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 286/298 if [ -f "OUT/Картинка.jpg" ] then echo "ERROR! Picture file was processed!" >> smoke_test.log else echo "OK! Picture file was NOT processed!" >> smoke_test.log fi if [ -f "OUT/Картинка в виде TXT.txt" ] then echo "OK! Picture file with TXT extension was processed!" >> smoke_test.log else echo "ERROR! Picture file with TXT extension was NOT processed!" >> smoke_test.log fi if [ -f "OUT/Пустой файл.md" ] then echo "OK! Empty file was processed!" >> smoke_test.log else echo "ERROR! Empty file was NOT processed!" >> smoke_test.log fi # =========================================================================== # =========================================================================== # Проверка удаления из входного каталога файлов, которые должны быть обработаны, # и неудаления файлов, которые не должны быть обработаны: echo "" >> smoke_test.log echo "Moving test:" >> smoke_test.log if [ ! -f "IN/«Мелкий» файл в WIN1251.txt" ] then echo "OK! '«Мелкий» файл в WIN1251.txt' file was moved!" >> smoke_test.log else echo "ERROR! '«Мелкий» файл в WIN1251.txt' file was NOT moved!" >> smoke_test.log fi if [ ! -f "IN/«Средний» файл в CP866.txt" ] then echo "OK! '«Средний» файл в CP866.txt' file was moved!" >> smoke_test.log else echo "ERROR! '«Средний» файл в CP866.txt' file was NOT moved!" >> smoke_test.log fi if [ ! -f "IN/«Крупный» файл в KOI8R.txt" ] then echo "OK! '«Крупный» файл в KOI8R.txt' file was moved!" >> smoke_test.log else echo "ERROR! '«Крупный» файл в KOI8R.txt' file was NOT moved!" >> smoke_test.log fi if [ ! -f "IN/«Крупный» файл в win-1251.html" ] then echo "OK! '«Крупный» файл в win-1251.html' file was moved!" >> smoke_test.log else echo "ERROR! '«Крупный» файл в win-1251.html' file was NOT moved!" >> smoke_test.log fi if [ ! -f "IN/«Мелкий» файл в cp-866.html" ] then echo "OK! '«Мелкий» файл в cp-866.html' file was moved!" >> smoke_test.log else echo "ERROR! '«Мелкий» файл в cp-866.html' file was NOT moved!" >> smoke_test.log fi if [ ! -f "IN/«Средний» файл в koi8-r.html" ] then echo "OK! '«Средний» файл в koi8-r.html' file was moved!" >> smoke_test.log else echo "ERROR! '«Средний» файл в koi8-r.html' file was NOT moved!" >> smoke_test.log fi if [ ! -f "IN/«Средний» файл в WIN_1251.md" ] then echo "OK! '«Средний» файл в WIN_1251.md' file was moved!" >> smoke_test.log else echo "ERROR! '«Средний» файл в WIN_1251.md' file was NOT moved!" >> smoke_test.log fi Командные файлы для Windows и Linux Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 287/298 if [ ! -f "IN/«Крупный» файл в CP_866.md" ] then echo "OK! '«Крупный» файл в CP_866.md' file was moved!" >> smoke_test.log else echo "ERROR! '«Крупный» файл в CP_866.md' file was NOT moved!" >> smoke_test.log fi if [ ! -f "IN/«Мелкий» файл в KOI8_R.md" ] then echo "OK! '«Мелкий» файл в KOI8_R.md' file was moved!" >> smoke_test.log else echo "ERROR! '«Мелкий» файл в KOI8_R.md' file was NOT moved!" >> smoke_test.log fi if [ ! -f "IN/Слишком большой файл.txt" ] then echo "ERROR! 'Too big' file was moved!" >> smoke_test.log else echo "OK! 'Too big' file was NOT moved!" >> smoke_test.log fi if [ ! -f "IN/Картинка.jpg" ] then echo "ERROR! Picture file was moved!" >> smoke_test.log else echo "OK! Picture file was NOT moved!" >> smoke_test.log fi if [ ! -f "IN/Картинка в виде TXT.txt" ] then echo "OK! Picture file with TXT extension was moved!" >> smoke_test.log else echo "ERROR! Picture file with TXT extension was NOT moved!" >> smoke_test.log fi if [ ! -f "IN/Пустой файл.md" ] then echo "OK! Empty file was moved!" >> smoke_test.log else echo "ERROR! Empty file was NOT moved!" >> smoke_test.log fi # =========================================================================== clear # =========================================================================== # Проверка конвертации файлов путём сравнения результатов # работы приложения с эталонными файлами: echo "" >> smoke_test.log echo "Comparing test:" >> smoke_test.log if cmp -s "Test_ETALON/«Мелкий» эталон WIN1251.txt" "OUT/«Мелкий» файл в WIN1251.txt" then echo "OK! File '«Мелкий» файл в WIN1251.txt' was processed correctly!" >> smoke_test.log else echo "ERROR! File '«Мелкий» файл в WIN1251.txt' was NOT processed correctly!" >> smoke_test.log fi if cmp -s "Test_ETALON/«Средний» эталон CP866.txt" "OUT/«Средний» файл CP866.txt" then echo "OK! File '«Средний» файл CP866.txt' was processed correctly!" >> smoke_test.log else echo "ERROR! File '«Средний» файл CP866.txt' was NOT processed correctly!" >> smoke_test.log fi if cmp -s "Test_ETALON/«Крупный» эталон KOI8R.txt" "OUT/«Крупный» файл KOI8R.txt" then echo "OK! File '«Крупный» файл KOI8R.txt' was processed correctly!" >> smoke_test.log else echo "ERROR! File '«Крупный» файл KOI8R.txt' was NOT processed correctly!" >> smoke_test.log fi Командные файлы для Windows и Linux Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 288/298 if cmp -s "Test_ETALON/«Крупный» файл в win-1251.html" "OUT/«Крупный» файл в win-1251.html" then echo "OK! File '«Крупный» файл в win-1251.html' was processed correctly!" >> smoke_test.log else echo "ERROR! File '«Крупный» файл в win-1251.html' was NOT processed correctly!" >> smoke_test.log fi if cmp -s "Test_ETALON/«Мелкий» эталон в cp-866.html" "OUT/«Мелкий» файл в cp-866.html" then echo "OK! File '«Мелкий» файл в cp-866.html' was processed correctly!" >> smoke_test.log else echo "ERROR! File '«Мелкий» файл в cp-866.html' was NOT processed correctly!" >> smoke_test.log fi if cmp -s "Test_ETALON/«Средний» эталон в koi8-r.html" "OUT/«Средний» файл в koi8-r.html" then echo "OK! File '«Средний» файл в koi8-r.html' was processed correctly!" >> smoke_test.log else echo "ERROR! File '«Средний» файл в koi8-r.html' was NOT processed correctly!" >> smoke_test.log fi if cmp -s "Test_ETALON/«Средний» эталон в WIN_1251.md" "OUT/«Средний» файл в WIN_1251.md" then echo "OK! File '«Средний» файл в WIN_1251.md' was processed correctly!" >> smoke_test.log else echo "ERROR! File '«Средний» файл в WIN_1251.md' was NOT processed correctly!" >> smoke_test.log fi if cmp -s "Test_ETALON/«Крупный» эталон в CP_866.md" "OUT/«Крупный» файл в CP_866.md" then echo "OK! File '«Крупный» файл в CP_866.md' was processed correctly!" >> smoke_test.log else echo "ERROR! File '«Крупный» файл в CP_866.md' was NOT processed correctly!" >> smoke_test.log fi if cmp -s "Test_ETALON/«Мелкий» эталон в KOI8_R.md" "OUT/«Мелкий» файл в KOI8_R.md" then echo "OK! File '«Мелкий» файл в KOI8_R.md' was processed correctly!" >> smoke_test.log else echo "ERROR! File '«Мелкий» файл в KOI8_R.md' was NOT processed correctly!" >> smoke_test.log fi if cmp -s "Test_ETALON/Пустой файл.md" "OUT/Пустой файл.md" then echo "OK! File 'Пустой файл.md' was processed correctly!" >> smoke_test.log else echo "ERROR! File 'Пустой файл.md' was NOT processed correctly!" >> smoke_test.log fi echo "WARNING! File 'Картинка в виде TXT.txt' has NO etalon decision, and it's OK for this file to be corrupted." >> smoke_test.log # =========================================================================== Пример результатов выполнения (на одном из первых билдов, со- держащих множество дефектов) Processing test: OK! '«Мелкий» файл в WIN1251.txt' file was processed! OK! '«Средний» файл в CP866.txt' file was processed! OK! '«Крупный» файл в KOI8R.txt' file was processed! OK! '«Крупный» файл в win-1251.html' file was processed! OK! '«Мелкий» файл в cp-866.html' file was processed! OK! '«Средний» файл в koi8-r.html' file was processed! OK! '«Средний» файл в WIN_1251.md' file was processed! OK! '«Крупный» файл в CP_866.md' file was processed! OK! '«Мелкий» файл в KOI8_R.md' file was processed! OK! 'Too big' file was NOT processed! OK! Picture file was NOT processed! OK! Picture file with TXT extension was processed! Moving test: ERROR! '«Мелкий» файл в WIN1251.txt' file was NOT moved! ERROR! '«Средний» файл в CP866.txt' file was NOT moved! ERROR! '«Крупный» файл в KOI8R.txt' file was NOT moved! ERROR! '«Крупный» файл в win-1251.html' file was NOT moved! ERROR! '«Мелкий» файл в cp-866.html' file was NOT moved! ERROR! '«Средний» файл в koi8-r.html' file was NOT moved! ERROR! '«Средний» файл в WIN_1251.md' file was NOT moved! Командные файлы для Windows и Linux Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 289/298 ERROR! '«Крупный» файл в CP_866.md' file was NOT moved! ERROR! '«Мелкий» файл в KOI8_R.md' file was NOT moved! OK! 'Too big' file was NOT moved! OK! Picture file was NOT moved! ERROR! Picture file with TXT extension was NOT moved! Comparing test: ERROR! File '«Мелкий» файл в WIN1251.txt' was NOT processed correctly! ERROR! File '«Средний» файл в CP866.txt' was NOT processed correctly! ERROR! File '«Крупный» файл в KOI8R.txt' was NOT processed correctly! ERROR! File '«Крупный» файл в win-1251.html' was NOT processed correctly! ERROR! File '«Мелкий» файл в cp-866.html' was NOT processed correctly! ERROR! File '«Средний» файл в koi8-r.html' was NOT processed correctly! ERROR! File '«Средний» файл в WIN_1251.md' was NOT processed correctly! ERROR! File '«Крупный» файл в CP_866.md' was NOT processed correctly! ERROR! File '«Мелкий» файл в KOI8_R.md' was NOT processed correctly! OK! File 'Пустой файл.md' was processed correctly! WARNING! File 'Картинка в виде TXT.txt' has NO etalon decision, and it's OK for this file to be corrupted. Пример данных для попарного тестирования Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 290/298 4.4. Пример данных для попарного тестирования № Расположение / длина / значение / комбинация символов / заре- зервированное или свободное Существо- вание Наличие прав доступа Семейство ОС Коди- ровки 1. X:\ Да К каталогу и его содержи- мому Windows 64 bit UTF8 2. smb://host/dir Нет Linux 32 bit UTF16 3. ../dir Да Ни к каталогу, ни к его со- держимому Linux 64 bit OEM 4. [257 байт только для Windows] Да Только к каталогу Windows 64 bit OEM 5. smb://host/dir/ Да К каталогу и его содержи- мому Linux 64 bit UTF8 6. nul Да Ни к каталогу, ни к его со- держимому Windows 64 bit OEM 7. \\ Нет Linux 64 bit UTF16 8. /dir Да Ни к каталогу, ни к его со- держимому Linux 32 bit OEM 9. ./dir/ Нет Linux 32 bit OEM 10. ./dir Нет К каталогу и его содержи- мому Linux 64 bit UTF8 11. smb://host/dir Да Только к каталогу Linux 64 bit UTF8 12. \\host\dir\ Да К каталогу и его содержи- мому Linux 32 bit UTF8 13. host:/dir Нет Windows 32 bit UTF8 14. .\dir\ Нет Windows 64 bit UTF8 15. [0 символов] Нет Windows 32 bit UTF16 16. [4097 байт только для Linux] Нет Linux 32 bit UTF16 17. ..\dir\ Нет Windows 32 bit UTF16 18. "/пробелы и рус- ский/" Да К каталогу и его содержи- мому Windows 32 bit OEM 19. smb://host/dir/ Да Только к каталогу Linux 32 bit OEM 20. nul Да Windows 32 bit UTF8 21. "/пробелы и рус- ский" Нет Linux 32 bit OEM 22. host:/dir/ Да Только к каталогу Windows 64 bit UTF8 23. ../dir Нет Windows 64 bit UTF16 24. ./dir/ Нет Linux 64 bit UTF16 25. [257 байт только для Windows] Нет Windows 32 bit UTF16 26. "/пробелы и рус- ский/" Нет Linux 64 bit UTF8 27. Нет Windows 32 bit UTF8 28. host:/dir/ Нет Linux 64 bit OEM 29. X:\dir\ Да К каталогу и его содержи- мому Windows 64 bit UTF8 Пример данных для попарного тестирования Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 291/298 30. \\ Да Ни к каталогу, ни к его со- держимому Windows 64 bit UTF8 31. // Нет Только к каталогу Windows 64 bit UTF8 32. ..\dir\ Нет Ни к каталогу, ни к его со- держимому Windows 64 bit OEM 33. X:\dir Нет Только к каталогу Windows 64 bit OEM 34. "X:\ пробелы и рус- ский\" Да Только к каталогу Windows 64 bit UTF16 35. \\host\dir\ Нет Только к каталогу Windows 32 bit UTF16 36. [256 байт только для Windows] Да К каталогу и его содержи- мому Windows 32 bit UTF8 37. [4096 байт только для Linux] Нет Только к каталогу Linux 64 bit UTF16 38. /dir/ Да К каталогу и его содержи- мому Linux 64 bit UTF8 39. [256 байт только для Windows] Да К каталогу и его содержи- мому Windows 64 bit OEM 40. .\dir Нет К каталогу и его содержи- мому Windows 32 bit UTF16 41. // Да Ни к каталогу, ни к его со- держимому Windows 32 bit OEM 42. prn Да Ни к каталогу, ни к его со- держимому Windows 64 bit UTF16 43. ..\dir Нет Ни к каталогу, ни к его со- держимому Windows 64 bit UTF16 44. \\host\dir\ Нет Только к каталогу Windows 64 bit UTF16 45. ../dir/ Да Ни к каталогу, ни к его со- держимому Linux 64 bit UTF8 46. Да Только к каталогу Linux 32 bit OEM 47. ..\dir Да Только к каталогу Windows 32 bit UTF8 48. /dir Да Только к каталогу Linux 64 bit UTF8 49. " Нет Только к каталогу Windows 32 bit UTF8 50. ../dir/ Нет К каталогу и его содержи- мому Linux 32 bit UTF16 51. .\dir Да Только к каталогу Windows 64 bit OEM 52. host:/dir/ Нет Ни к каталогу, ни к его со- держимому Linux 32 bit UTF16 53. "/пробелы и рус- ский" Нет К каталогу и его содержи- мому Linux 64 bit UTF16 54. com1-com9 Да Ни к каталогу, ни к его со- держимому Windows 64 bit UTF16 55. lpt1-lpt9 Да Только к каталогу Windows 32 bit UTF8 56. [0 символов] Нет Только к каталогу Linux 64 bit UTF16 57. \\host\dir Да Ни к каталогу, ни к его со- держимому Windows 32 bit UTF16 58. "X:\ пробелы и рус- ский" Да Только к каталогу Windows 64 bit UTF16 59. \\host\dir Нет Только к каталогу Linux 64 bit UTF8 60. lpt1-lpt9 Да Только к каталогу Windows 64 bit UTF8 61. "X:\ пробелы и рус- ский" Нет К каталогу и его содержи- мому Windows 32 bit OEM Пример данных для попарного тестирования Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 292/298 62. host:/dir Да К каталогу и его содержи- мому Linux 32 bit OEM 63. X:\ Да Только к каталогу Windows 32 bit OEM 64. \\ Нет Только к каталогу Windows 32 bit OEM 65. [4096 байт только для Linux] Да К каталогу и его содержи- мому Linux 32 bit UTF8 66. \\host\dir Нет К каталогу и его содержи- мому Windows 64 bit OEM 67. " Нет Ни к каталогу, ни к его со- держимому Linux 32 bit OEM 68. con Нет К каталогу и его содержи- мому Windows 32 bit UTF16 69. ../dir Нет Только к каталогу Linux 32 bit UTF16 70. X:\dir Да К каталогу и его содержи- мому Windows 32 bit OEM 71. ./dir Да К каталогу и его содержи- мому Linux 32 bit UTF16 72. // Да К каталогу и его содержи- мому Linux 32 bit UTF16 73. host:/dir Нет Ни к каталогу, ни к его со- держимому Linux 64 bit UTF8 74. / Нет К каталогу и его содержи- мому Linux 64 bit UTF8 75. "X:\ пробелы и рус- ский\" Да Ни к каталогу, ни к его со- держимому Windows 32 bit OEM 76. .\dir\ Да Ни к каталогу, ни к его со- держимому Windows 32 bit OEM 77. // Нет Только к каталогу Linux 64 bit OEM 78. X:\dir\ Да Только к каталогу Windows 32 bit UTF8 79. " Да Ни к каталогу, ни к его со- держимому Linux 64 bit UTF16 80. / Да К каталогу и его содержи- мому Linux 32 bit UTF16 81. Да К каталогу и его содержи- мому Windows 64 bit UTF16 82. com1-com9 Да Ни к каталогу, ни к его со- держимому Windows 32 bit OEM 83. Да Ни к каталогу, ни к его со- держимому Linux 64 bit OEM 84. /dir/ Да К каталогу и его содержи- мому Linux 32 bit UTF16 85. [4097 байт только для Linux] Нет К каталогу и его содержи- мому Linux 64 bit UTF16 Список основных определений Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 293/298 4.5. Список основных определений Для удобства поиска термины приведены в алфавитном порядке со ссыл- ками на то место в книге, где находится их подробное рассмотрение. Здесь пред- ставлены только самые важные, самые ключевые определения из двух с лишним сотен, что рассмотрены в книге. Термин (по- русски) Термин (по- английски) Определение Автоматизиро- ванное тести- рование {73} Automated test- ing Набор техник, подходов и инструментальных средств, позволяющий исключить человека из выполнения некоторых задач в процессе тестирования. Альфа-тести- рование {81} Alpha testing Тестирование, которое выполняется внутри организации-разработчика с возможным ча- стичным привлечением конечных пользова- телей. Может являться формой внутреннего приёмочного тестирования. Анализ перво- причин {250} Root cause analysis Процесс исследования и классификации пер- вопричин возникновения событий, негативно влияющих на безопасность, здоровье, окру- жающую среду, качество, надёжность и про- изводственный процесс. Бета-тестиро- вание {81} Beta testing Тестирование, которое выполняется вне ор- ганизации-разработчика с активным привле- чением конечных пользователей/заказчиков. Граничное условие {234} Border condi- tion, boundary condition Значение, находящееся на границе классов эквивалентности. Дефект {166} Defect, anomaly Отклонение фактического результата от ожи- даний наблюдателя, сформированных на ос- нове требований, спецификаций, иной доку- ментации или опыта и здравого смысла. Динамическое тестирова- ние {70} Dynamic testing Тестирование с запуском кода на исполне- ние. Дымовое те- стирование {76} Smoke test Тестирование, которое направлено на про- верку самой главной, самой важной, самой ключевой функциональности, неработоспо- собность которой делает бессмысленной саму идею использования приложения (или иного объекта, подвергаемого дымовому те- стированию). Список основных определений Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 294/298 Инспекция (аудит) кода {94} Code review, code inspection Семейство техник повышения качества кода за счёт того, что в процессе создания или со- вершенствования кода участвуют несколько человек. В отличие от техник статического анализа кода (по потоку управления и потоку данных), аудит кода также улучшает такие его характеристики как понятность, поддер- живаемость, соответствие соглашениям об оформлении и т.д. Аудит кода выполняется в основном самими программистами. Интеграцион- ное тестирова- ние {74} Integration test- ing Тестирование, которое направлено на про- верку взаимодействия между несколькими частями приложения (каждая из которых, в свою очередь, проверена отдельно на стадии модульного тестирования). Класс эквива- лентности {234} Equivalence class Набор данных, обрабатываемых одинаковым образом и приводящих к одинаковому ре- зультату. Метод белого ящика {70} White box test- ing Метод тестирования, в рамках которого у те- стировщика есть доступ к внутренней струк- туре и коду приложения, а также есть доста- точно знаний для понимания увиденного. Метод серого ящика {71} Gray box testing Комбинация методов белого ящика и чёрного ящика, состоящая в том, что к части кода и архитектуры у тестировщика доступ есть, а к части — нет. (См. пояснения по альтернатив- ному определению здесь: {71} .) Метод чёрного ящика {71} Black box test- ing Метод тестирования, в рамках которого у те- стировщика либо нет доступа к внутренней структуре и коду приложения, либо недоста- точно знаний для их понимания, либо он со- знательно не обращается к этим данным в процессе тестирования. Метрика {210} Metric Числовая характеристика показателя каче- ства. Может включать описание способов оценки и анализа результата. Модель разра- ботки ПО {18} Software Devel- opment Model Структура, систематизирующая различные виды проектной деятельности, их взаимодей- ствие и последовательность в процессе раз- работки ПО. Выбор той или иной модели за- висит от масштаба и сложности проекта, предметной области, доступных ресурсов и множества других факторов. Модульное (компонентное) тестирова- ние {74} Unit testing, component test- ing Тестирование, направленное на проверку от- дельных небольших частей приложения, ко- торые (как правило) можно исследовать изо- лированно от других подобных частей. Набор тест- кейсов {143} Test case suite, test suite, test set Совокупность тест-кейсов, выбранных с неко- торой общей целью или по некоторому об- щему признаку. Список основных определений Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 295/298 Негативное те- стирование {79} Negative testing Тестирование, направленное на исследова- ние работы приложения в ситуациях, когда с ним выполняются (некорректные) операции и/или используются данные, потенциально приводящие к ошибкам. Нефункцио- нальное тести- рование {83} Non-functional testing Тестирование, направленное на проверку не- функциональных особенностей приложения (корректность реализации нефункциональ- ных требований), таких как удобство исполь- зования, совместимость, производитель- ность, безопасность и т.д. Нефункцио- нальные требо- вания {38} Non-functional requirements Требования, описывающие свойства системы (удобство использования, безопасность, надёжность, расширяемость и т.д.), кото- рыми она должна обладать при реализации своего поведения. Отчёт о де- фекте {167} Defect report Документ, описывающий и приоритизирую- щий обнаруженный дефект, а также содей- ствующий его устранению. Отчёт о ре- зультатах те- стирования {217} Test progress report, test sum- mary report Документ, обобщающий результаты работ по тестированию и содержащий информацию, достаточную для соотнесения текущей ситуа- ции с тест-планом и принятия необходимых управленческих решений. Отчётность {206} Reporting Сбор и распространение информации о ре- зультатах работы (включая текущий статус, оценку прогресса и прогноз развития ситуа- ции). Планирова- ние {206} Planning Непрерывный процесс принятия управленче- ских решений и методической организации усилий по их реализации с целью обеспече- ния качества некоторого процесса на протя- жении длительного периода времени. Позитивное те- стирование {79} Positive testing Тестирование, направленное на исследова- ние приложения в ситуации, когда все дей- ствия выполняются строго по инструкции без каких бы то ни было ошибок, отклонений, ввода неверных данных и т.д. Покрытие {212} Coverage Процентное выражение степени, в которой исследуемый элемент затронут соответству- ющим набором тест-кейсов. Приёмочное тестирова- ние {84} Acceptance testing Формализованное тестирование, направлен- ное на проверку приложения с точки зрения конечного пользователя/заказчика и вынесе- ния решения о том, принимает ли заказчик работу у исполнителя (проектной команды). Расширенное тестирова- ние {78} Extended test Тестирование, направленное на исследова- ние всей заявленной в требованиях функцио- нальности — даже той, которая низко про- ранжирована по степени важности. Список основных определений Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 296/298 Регрессионное тестирова- ние {84} Regression test- ing Тестирование, направленное на проверку того факта, что в ранее работоспособной функциональности не появились ошибки, вы- званные изменениями в приложении или среде его функционирования. Ручное тести- рование {72} Manual testing Тестирование, в котором тест-кейсы выпол- няются человеком вручную без использова- ния средств автоматизации. Системное те- стирование {75} System testing Тестирование, направленное на проверку всего приложения как единого целого, со- бранного из частей, проверенных на стадиях модульного и интеграционного тестирования. Статическое тестирова- ние {70} Static testing Тестирование без запуска кода на исполне- ние. Структурная декомпози- ция {227} Work break- down structure, WBS Иерархическая декомпозиция объёмных за- дач на всё более и более малые подзадачи с целью упрощения оценки, планирования и мониторинга выполнения работы. Тест {117} Test Набор из одного или нескольких тест-кейсов. Тестирование критического пути {77} Critical path test Тестирование, направленное на исследова- ние функциональности, используемой типич- ными пользователями в типичной повседнев- ной деятельности. Тестирование под управле- нием дан- ными {90} Data-driven testing Способ разработки автоматизированных тест-кейсов, в котором входные данные и ожидаемые результаты выносятся за пре- делы тест-кейса и хранятся вне его — в файле, базе данных и т.д. Тестирование под управле- нием ключе- выми сло- вами {90} Keyword-driven testing Способ разработки автоматизированных тест-кейсов, в котором за пределы тест-кейса выносится не только набор входных данных и ожидаемых результатов, но и логика пове- дения тест-кейса, которая описывается клю- чевыми словами (командами). Тестирование под управле- нием поведе- нием {90} Behavior-driven testing Способ разработки автоматизированных тест-кейсов, в котором основное внимание уделяется корректности работы бизнес-сце- нариев, а не отдельным деталям функциони- рования приложения. Тестирование программного обеспечения {6} Software testing Процесс анализа программного средства и сопутствующей документации с целью выяв- ления дефектов и повышения качества про- дукта. Тестирование производитель- ности {88} Performance testing Исследование показателей скорости реакции приложения на внешние воздействия при различной по характеру и интенсивности нагрузке. Список основных определений Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 297/298 Тест-кейс {117} Test case Набор входных данных, условий выполнения и ожидаемых результатов, разработанный с целью проверки того или иного свойства или поведения программного средства. Под тест- кейсом также может пониматься соответству- ющий документ, представляющий формаль- ную запись тест-кейса. Тест-план {208} Test plan Документ, описывающий и регламентирую- щий перечень работ по тестированию, а также соответствующие техники и подходы, стратегию, области ответственности, ре- сурсы, расписание и ключевые даты. Требование {29} Requirement Описание того, какие функции и с соблюде- нием каких условий должно выполнять при- ложение в процессе решения полезной для пользователя задачи. Трудоза- траты {225} Man-hours Количество рабочего времени, необходимого для выполнения работы (выражается в чело- веко-часах). Функциональ- ная декомпози- ция {267} Functional de- composition Процесс определения функции через её раз- деление на несколько низкоуровневых под- функций. Функциональ- ное тестирова- ние {82} Functional test- ing Тестирование, направленное на проверку корректности работы функциональности при- ложения (корректность реализации функцио- нальных требований). Функциональ- ные требова- ния {38} Functional re- quirements Требования, описывающие поведение си- стемы, т.е. её действия (вычисления, преоб- разования, проверки, обработку и т.д.). Чек-лист {112} Checklist Набор идей [тест-кейсов]. Последнее слово не зря взято в скобки, т.к. в общем случае чек-лист — это просто набор идей: идей по тестированию, идей по разработке, идей по планированию и управлению — любых идей. Раздел 5: Лицензия и распространение Тестирование программного обеспечения. Базовый курс. © EPAM Systems, 2015–2022 Стр: 298/298 Раздел 5: Лицензия и распространение Данная книга распространяется под лицензией «Creative Commons Attribu- tion-NonCommercial-ShareAlike 4.0 International » 372 Текст книги периодически обновляется и дорабатывается. Если вы хотите поделиться этой книгой, пожалуйста, делитесь ссылкой на самую актуальную вер- сию, доступную здесь: http://svyatoslav.biz/software_testing_book/ Задать вопросы, сообщить о найденных ошибках или поделиться впечатле- ниями от прочитанного можно по адресу stb@svyatoslav.biz * * * Если вам понравилась эта книга, обратите внимание на ещё две, написанные в том же стиле: «Работа с MySQL, MS SQL Server и Oracle в примерах» В книге: 3 СУБД, 50+ примеров, 130+ задач, 500+ запросов с по- яснениями и комментариями. От SELECT * до поиска кратчайшего пути в ориентированном графе; никакой теории, только схемы и код, много кода. Будет полезно тем, кто: когда-то изучал язык SQL , но многое забыл; имеет опыт работы с одним диалектом SQL , но хочет быстро переключиться на другой; хочет в пре- дельно сжатые сроки научиться писать типичные SQL-запросы. Скачать: http://svyatoslav.biz/database_book/ «Реляционные базы данных в примерах» Все ключевые идеи реляционных СУБД — от понятия данных до логики работы транзакций; фундаментальная теория и наглядная практика проектирования баз данных: таблицы, ключи, связи, нормальные формы, представления, триггеры, хранимые проце- дуры и многое другое в примерах. Книга будет полезна тем, кто: когда-то изучал базы данных, но что-то уже забыл; имеет узкий практический опыт, но хочет расширить знания; хочет в пре- дельно сжатые сроки начать использовать реляционные базы данных в своей работе.. Скачать: http://svyatoslav.biz/relational_databases_book/ В дополнение к тексту данной книги рекомендуется пройти бес- платный онлайн-курс, содержащий серию видео-уроков, тестов и заданий для самоподготовки. Курс рассчитан примерно на 100 часов, из которых около поло- вины времени у вас должно уйти на выполнение практических за- даний. С русскоязыяной озвучкой: http://svyatoslav.biz/urls/stc_online_rus/ С англоязычной озвучкой: http://svyatoslav.biz/urls/stc_online_eng/ 372 «Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International». [ https://creativecommons.org/licenses/by-nc- sa/4.0/legalcode ] |