Процесс тестирования программного обеспечения является неотъемлемой частью процесса разработки в целом. Это заключительный этап разработки нового, готового программного продукта, а наличие каких-либо ошибок при вводе разработанных систем в эксплуатацию, является недопустимым фактором. Цель тестирования состоит не в поиске ошибок, а в предотвращении появления ошибок в процессе разработки и в контроле качества программного продукта в целом. В современных IT-компаниях все чаще появляются специалисты по контролю качества, формируются целые отделы тестирования. Автоматизированное тестирование приходит на смену ручному, разрабатываются различные метрики качества, формируются отчеты, графики, диаграммы слабых мест в процессе разработки, пишутся автоматические тесты на различные функциональности программы. Отделы тестирования становятся не приложением к процессу разработки, а самостоятельным звеном организации.
На данный момент, автоматизированное тестирование находит широкое применение при разработке различного вида приложений, будь то десктопные или веб-приложения. Разрабатывается множество инструментов, существуют различные готовые решения, которые можно купить и внедрить в компании, а также существуют различные инструменты с открытым исходным кодом, и различными интегрируемыми модулями - взяв такой инструмент, можно сделать абсолютно уникальную систему для автоматизации тестирования программного обеспечения. Во многих организациях используются наборы абсолютно разных инструментов, которые взаимодействуют между собой с помощью разработанных модулей. Процесс нахождения «своего» инструмента, можно сравнить с конструктором - в каждой организации собираются свои собственные системы, которые адаптированы под разрабатываемый продукт.
В блогах о тестировании, статьях, на научных конференциях всегда возникают споры о плюсах и минусах того или иного инструмента, многие инженеры по автоматизации презентуют свои продукты и доказывают их эффективность, уникальность и преимущества перед другими. Но все-таки в сфере тестирования все сходятся на одном мнении - идеального инструмента для тестирования программного обеспечения не существует, каждый инструмент уникален и удобен для конкретного продукта.
Актуальность темы дипломной работы заключается в разработке системы автоматизированного тестирования веб-приложения. Вовремя найденные ошибки в процессе тестирования играют ключевую роль в процессе разработки программного обеспечения в целом.
Целью исследования данной дипломной работы - является проектирование и разработка системы автоматизированного тестирования веб-приложения, обоснованный выбор инструментов для разработки системы, написание автоматических тестов, расчет экономической эффективности внедрения данной системы на предприятии, составление карты покрытия веб-приложения функциональными автоматическими тестами, а также визуальное представление результатов работы информационной системы в виде таблиц, графиков и диаграмм.
Для достижения указанной цели необходимо выполнить следующие задачи:
- дать общую характеристику современному веб-приложению, его функционированию и процессу разработки;
- выделить роль тестирования, как отдельный этап в разработке программного обеспечения, рассмотреть виды тестирования, более подробно рассмотреть процесс автоматизации тестирования
- провести анализ существующих инструментов для автоматизации тестирования, выделить сильные и слабые стороны, выбрать инструмент для дальнейшей разработки тестов;
- разработать модель базы данных в виде логической и физической структурной модели;
- сгенерировать код, для создания базы данных;
- построить схему алгоритма работы разрабатываемой информационной системы;
- разработать тест-кейсы и написать тестовые сценарии;
- настроить интеграцию сторонних отчетов, для получения статистики выполнения работы автоматических тестов;
- протестировать разработанную информационную систему;
- рассчитать экономическую эффективность от внедрения разработанной системы на предприятии.
Предметом исследования выступает методология разработки автоматических тестов для веб-приложений .
Объектом дипломной работы является предприятие ЗАО «НГС», в то время, как для разработки конечного набора автоматических тестов будет использован один из проектов компании, а именно «НГС.Новости».