Тестирование программного обеспечения
Тестирование программ заключается в процессе исследования и непосредственного испытания какого-либо программного продукта. Данное мероприятие имеет две основных цели:
-демонстрация разработчикам и заказчику доказательств того, что программа функционирует должным образом;
-выявление случаев, когда софт ведет себя неправильно, некорректно и не соответственно заданной специфике.
Значимость тестирования
Помимо тестирования программного обеспечения также существуют следующие виды диагностики:
-оборудования;
-интерфейсов;
Современные методики тестирования программных продуктов не обладают способностью в должной мере выявлять все существующие дефекты. По этой причине они могут действовать исключительно в пределах процесса непосредственной разработки софта.
Процесс верификации предоставляет доказательства отсутствия того или иного дефекта с точки зрения используемого в данном случае метода. Сегодня существует множество различных технологий тестирования, однако в целом этот процесс носит очень творческих характер, так как он лишен каких-либо строгих и четких правил. Так, качественное программное обеспечение должно отвечать следующим требованиям:
-функциональность;
-надежность;
-эффективность;
-сопровождаемость;
-мобильность;
-практичность;
Немного исторических данных
Одни из самых первых программ создавались в ходе реализации научных исследований, необходимых для министерства обороны. Мероприятия по тестированию таких приложений осуществлялись исключительно с письменной фиксацией процедур, данных и заключительных результатов. В то время тестирование являлось автономным процессом, начинавшимся сразу же после окончания кодирования. Как правило, оно выполнялось все теми же разработчиками.
Лишь только в начале 90-х тестирование сумело получить статус самостоятельного процесса, который включал в себя такие этапы, как:
-планирование;
-проектирование;
-создание;
-поддержка;
-осуществление тестов;
Сегодня основная задача тестирования Getbug.ru заключается в оценке и оптимизации значимости программного обеспечения на всех этапах жизненного цикла.
Существующие уровни тестирования
Среди известных уровней тестирования выделяют следующие категории:
-модульное - реализация тестирования минимально возможных компонентов, как правило, выполняется прикладными программистами;
-интегрированное - тестирование интерфейсов между системами, подсистемами и компонентами программного обеспечения;
-системное - выполнение тестирования интегрированной системы на соответствие необходимым критериям и требованиям;
Суть статического и динамического тестирования
Динамическое тестирование включает в себя две техники: тестирование "белого ящика" и "черного ящика". Эти методики предполагают, что код уже исполняется, разница заключается лишь в данных, которыми владеет тестировщик.
В ходе статического тестирования код программы не исполняется: тестирование осуществляется на базе исходного кода, который вычитывают вручную или же изучают при помощи специального инструментария.