Файл: Этапы разработки, тестирования и ввода в эксплуатацию мобильных приложений (Каскадная модель разработки программной системы).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 463

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

2. Тестирование высокого уровня: в процессе которого главной целью тестирования является определение удовлетворяет ли программная системы всем заявленным требованиям определенного заказчика. Для программной системы разрабатываются специальные эмуляторы, при помощи которых тестер наблюдает за работой программной системы в роли определенного оператора. Он может увидеть, как программная система выполняет свой диалог с пользователями, какие сообщения программная система выдаёт, как она реагирует на различные события, каким образом сохраняет полученную информацию и т.д. Большинство найденных ошибок на данном этапе связанно с ошибками по взаимодействию программной системы с пользователями - вывод ошибочных сообщений, не правильная реакция на запрос от оператора и т.п.

3. Тестирование низкого уровня: тестировщик выполняет проверку, на сколько логически полным является исходный код, и насколько он покрывает всё возможные варианты непосредственной работы программной системы, для которой он был разработан.

Существуют стандарты для обеспечения тестирования, они зависят от того в какой именно области будет использоваться программная система. Ниже представлены основные стандарты.

Стандарт ISO 9001.

ISO 9001 представляет собой стандарт, который основан на базовых принципах по контролю качества. В данном стандарте задаются основные требования, для каждого из которых необходимо сказать, что выполняется, как выполнить то, что сказано, и иметь возможность показывать, что было выполнено.

Стандарт ISO/IEC 12207 и IEEE/EIA 12207.

ISO/IEC 12207 - это международный стандарт, описывающий структуру процессов жизненного цикла ПО от концепции до изъятия из обращения. Стандарт IEEE/EIA 12207 - адаптация ISO/IEC 12207 для США.

В соответствии с этими стандартами в той или иной отрасли производства выдвигаются требования к тестированию ПО. Например в авиации США на основе ISO/IEC 12207 был выработан стандарт RTCA( Requirements and Technical Concepts for Aviation). В нём перечислены следующие требования к тестированию верхнего и нижнего уровня. Тестирование верхнего уровня:

– предъявляемые требования высокого уровня должны содержать системные требования к определенной программной системе;

– предъявляемые требования высокого уровня должны формулироваться с учётом архитектуры определенной программной системы;

– программный код должен удовлетворять определенной архитектуре программной системы и требованиям низкого уровня ее исполнения в определенной операционной системе;


– откомпилированный и готовый к использованию программный код должен удовлетворять требованиям, которые предъявляются к определенной программной системе;

– используемые значения должны технически соответствовать поставленным целям и выполнять их для всех уровней разрабатываемой программной системы.

Тестирование нижнего уровня предполагает:

– выполнение проверки (Verification) требований нижнего уровня к программной системе;

– выполнение полной проверки архитектуры некоторой программной системы;

– выполнение полной проверки логического покрытия для всех имеющихся функций, которые были реализованы в определенной программной системе;

– выполнение контроля исполняемых процедур тестирования программной системы;

– проверка независимости программной системы от тестирования. Т.е. программная система не должно перестраиваться особым образом под выполняемые тесты;

– выполнение тестирования должно несколько раз покрывать исходный код программной системы, для обнаружения определённого класса возможных ошибок;

– тестирование на предмет косвенного обнаружения ошибок. Например: соответствие стандартам разработки определенной программной системы.

Таким образом, среди видов тестирования были выделены и описаны: Функциональное тестирование; системное тестирование; тестирование производительности; нагрузочное тестирование; стресс тестирование; регрессионное тестирование; модульное тестирование; тестирование безопасности; тестирование локализации; юзабилити тестирование. Более подробно расписано тестирование надежности. Также, было описана организация процесса тестирования по стандарту ISO/IEC 12207 и IEEE/EIA 12207.

Глава 3. Реализация программной системы

3.1. Постановка задачи

В современном мире люди получают множество писем, а у некоторых есть несколько почтовых ящиков. Все это усложняет процесс их администрирования, что вынуждает искать пути решения проблемы.

Электронные письма – это набор текстовых протоколов для передачи информации между сетями; как и весь остальной Интернет, в общем. Всё это лишь несколько уровней протоколов. То, как мы представляем себе электронную почту, отображает лишь ее интерфейс.


Администрирование почты представляет собой процесс анализа и обработки писем (входящий и исходящий контент). Если пользователю нужно написать или ответить на 5 – 10 сообщений, особых затруднений возникнуть не должно. А вот, если нужно сделать массовую рассылку 200 клиентам или более могут возникнуть серьезные проблемы учета этих писем. Для решения данной проблемы нужно сделать первые шаги автоматизации процесса рассылки e-mail сообщений.

Рассылку e-mail сообщений можно организовать на следующих положениях:

– подключение к серверу электронной почты и авторизация пользователя;

– формирование письма e-mail средствами текстового редактора, наполнение его необходимыми данными;

– формирование списка e-mail адресов рассылки, для чего целесообразно использовать отдельный файл с адресами;

– отправка сообщения при помощи специального скрипта на языке программирования Python.

3.2. Алгоритмизация программы

Существуют три основных протокола для работы с электронной почтой. Самый старый из них называется POP (Post Office Protocol). Его суть в том, что программное обеспечение для работы с электронной почтой (не браузер) подключается к удалённому серверу, скачивает письма на компьютер пользователя, и они становятся доступны без подключения к интернету. Это было хорошей идеей в те времена, когда к интернету подключались нечасто, и было нормальным не иметь выхода в Сеть, но в настоящее время такого почти не бывает.

Текущим стандартом доступа к электронным ящикам является протокол IMAP (Internet Message Access Protocol). Он намного быстрее и больше соответствует тому, как интернет используется в наши дни. Он позволяет нескольким пользователям подключаться к одному ящику и поддерживает их соединение в течение всей сессии.

Web-браузеры получают доступ к электронной почте с помощью дополнительного протокола – HTTP, но в основе лежат всё те же POP и IMAP.

В основном для получения писем с сервера используются POP (актуальная версия POP3) и IMAP. Но для того чтобы отправить письмо, нужен другой протокол – SMTP (Simple Mail Transfer Protocol). Всё потому, что нельзя просто отправить письмо получателю. Его нужно отправить на сервер, с которого получатель это письмо скачает, используя IMAP и POP3.

Для начала нужно подключить подходящий модуль Python – Smtplib, который поставляется вместе с Python, для этого необходимо ввести следующую команду:


import smtplib

Для получения справки по модулю можно воспользоваться специальной функцией help:

help(smtplib)

Прежде всего, нужно создать объект smtplib, который можно рассматривать как некий портал, дающий доступ к подключению и различным инструментам работы с ним из модуля smtplib.

В данном случае функция, возвращающая необходимый объект, принимает два параметра или аргумента. Первый аргумент содержит доменное имя, то есть адрес электронной почты, начинающийся с «smtp», как показано ниже. Второй аргумент – это номер порта, к которому будет осуществляться подключение на сервере электронной почты. Он почти всегда принимает значение 587 в соответствии со стандартом шифрования TLS:

smtpObj = smtplib.SMTP('smtp.gmail.com', 587)

Переменная smtpObj является объектом типа SMTP, которую можно назвать в любом удобном виде.

Следующее, что нужно сделать для установления соединения, это «сказать» SMTP-объекту, что сообщение должно быть зашифровано. Для этого следует воспользоваться следующим оператором:

smtpObj.starttls()

Это позволит сообщить Gmail, что хотим, чтобы наше соединение шифровалось с помощью протокола TLS (Transport Layer Security), который на сегодняшний день является стандартом для интернет-коммуникаций. Сам по себе TLS не является криптографическим алгоритмом, он скорее сообщает, что необходимо использовать шифрование или соединение не должно быть установлено.

Для того чтобы авторизоваться, нужно всего лишь написать:

smtpObj.login('tt0065746@gmail.com','12aAs123')

Для непосредственной отправки сообщения можно воспользоваться следующим оператором:

smtpObj.sendmail("tt0065746@gmail.com","michaels.byrnel@vice.com","The end my freand!")

Для завершения соединения достаточно использовать следующую команду:

smtpObj.quit()

Полный программный код программы представлен в Приложении. Таким образом, были продемонстрированы основные программные решения, использовав которые можно получить желаемую программу рассылки e-mail.

3.3. Порядок работы с программой

Для начала работы с программой необходимо сформировать список рассылки e-mail адресов и записать их в текстовый файл, содержание которого представлено на рис. 5. Файлы e-mail адресов и письма рассылки должны быть в папке, в которой находится запускаемая программа.

Рисунок 5 – Содержание файла рассылки e-mail адресов

Далее, необходимо составить письмо рассылки в виде тактового файла, содержание которого представлено на рис. 6.


Рисунок 6 – Содержание файла письма рассылки e-mail

Запуск программы можно выполнить при помощи программы TextMate или среды Python. Интерфейс программной среды разработки представлен на рис. 7.

Рисунок 7 – Интерфейс среды разработки

После запуска программы на выполнение пользователю будут выданы соответствующие сообщения, рис. 8.

В сообщениях программы представлен список e-mail адресов на которые были отправлены сообщения. Список сообщений можно изменить на свое усмотрение, количество неограниченно, при большом количестве e-mail адресов время работы программы будет увеличено в соответствующее число раз.

Рисунок 8 – Результат выполнения программы

Проверить результат выполнения программы, можно посмотрев соответствующий почтовый ящик, указанный в файле e-mail рассылки. Так, сообщение было отправлено на адрес tt0065746@gmail.com, рис. 9.

Рисунок 9 – Результат приема сообщения

Таким образом, разработка программы e-mail рассылки позволила ознакомиться с основными возможностями языка программирования Python, реализовать актуальную задачу информационного взаимодействия и наметить приоритеты для дальнейшей работы в области программирования на языке программирования Python и мобильных технологий.

ЗАКЛЮЧЕНИЕ

В процессе выполнения данной работы были получены следующие результаты. Модель жизненного цикла программной системы может быть реализована по каскадной или спиральной схеме. Положительными сторонами применения каскадного подхода при разработке программной системы зак­лючаются в следующих положениях: на всех этапах выполняется формирование законченного набора проектной документации, которая отвечает критериям согласован­ности и полноты; выполняемые в определенной последовательности этапы работ позволяют соблюдать сроки по завершению всех работ и соответ­ствующие затраты на разработку программной системы.

Спиральная модель предполагает разработку итерациями и отражает объективно существующий спиральный цикл по созданию программной системы. Неполное завершение работ на всех этапах позволяет выполнить переход на следующий этап, не дожидаясь завершения работы на текущем этапе. Основной проблемой спирального цикла является определение момента перехода на следующий этап разработки программной системы.