Автоматизация тестирования web-приложений, основанных на скриптовых языках

       

Анализ лог-файлов Web-сервера


Важной особенностью работы Web-приложений является то, что сообщения об ошибках, генерируемые интерпретатором скриптов могут (при соответствующих настройках) автоматически записываются в лог-файл HTTP-сервера. Среди ошибок могут быть и такие, которые не мешают интерпретатору продолжить выполнение скрипта, но могут привести к некорректности получаемых страниц. Одной из самых распространенных ошибок такого рода в случае PHP и Perl является выход за границы массива в случае обычных массивов либо отсутствие значения для ключа в ассоциативном массиве. Например, в следующем коде

$select = 'SELECT Aid, Aname FROM Application'; $res = Query($select); while( $row = mysql_fetch_array($res) ) { print 'Application '.$row['Aname'].' '.$row['Aversion']; }

осуществляется попытка вывести на страницу значения полей Aname и Aversion из таблицы Application, но поле Aversion в запросе отсутствует. В результате будет выведено только поле Aname, а это не совсем то, что хотел программист. При этом никаких ошибок работы с базой данных не будет, также не будет нарушено соответствие страницы стандарту XHTML. Помимо непосредственного просмотра страницы обнаружить эту ошибку можно, просмотрев логи Web-сервера, в которых появится запись вида

Notice: Undefined index: Aversion

При этом будет указан файл и номер строки, где произошло обращение по некорректному ключу.

Таким образом, анализ лог-файлов Web-сервера после выполнения тестов также может служить важной составляющей процесса тестирования.



Содержание раздела