Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

ВВЕДЕНИЕ

Основы алгоритмизации и программирование являются фундамен- тальными основами теоретической информатики, но по учебному плану дисциплины имеют весьма ограниченное время для изучения. Поэтому не- которые важные вопросы не рассматриваются на лекциях вообще, или рас- сматриваются недостаточно глубоко (например, решение задач на состав- ление алгоритмов, основы программирования, запись выражений на языке программирования и др.). Предлагаемое пособие является учебным сред- ством, предусматривающим ориентацию иностранных студентов на само- стоятельную работу и самообразование. Пособие состоит из шести глав. В первой главе даются основные понятия алгоритмизации, способы записи алгоритмов, составление блок-схем и базовые управляющие конст- рукции алгоритмов. Во второй главе излагаются основные конструкции языка программирования Qbasic: алфавит, константы, переменные, функ- ции, логические и арифметические выражения. В третьей – операторы языка QBasic для реализации линейных алгоритмов. В четвертой – опера- торы передачи управления для реализации разветвляющихся алгоритмов. В пятой – операторы циклов для реализации циклических алгоритмов. В шестой главе рассматриваются одномерные массивы. В конце каждой главы даются контрольные вопросы для самокон- троля, упражнения для закрепления, контрольная работа и тест. Подобные задания включены в экзаменационные билеты. Для каждой главы состав- лен терминологический словарь, он размещен в приложении. Язык учебного пособия адаптирован, так как оно предназначается для лиц, слабо владеющих сложными грамматическими конструкциями. В этом важное отличие этого пособия от других учебников по информатике. Теория, упражнения и тестовые задания составлены с учетом обеспечения формирования навыков речи и чтения специальной литературы по курсу «информатика».

Знание общих правил и рекомендаций тестирования, а также тех качеств, которыми должен обладать профессиональный тестирующий-педагог, даст возможность компетентно осуществить эту процедуру на практике. В процессе подготовки и проведения тестирования можно выделить четыре главных этапа, учет особенностей которых во многом определяет успех использования этого метода: 
1. Выбор тестовых методик. Прежде чем его сделать, необходимо тщательно ознакомиться с имеющимися тестовыми методиками и проверить, насколько они соответствуют целям исследования и удобны для применения. Затем выбранную методику тестирующий проверяет на себе или, в крайнем случае, на другом человеке. 
2. Инструктирование испытуемых. Убедившись в пригодности методики, следует подробно проинструктировать исследуемых, разъяснить им цели и задачи тестирования, порядок выполнения тестовых заданий и поведения во время их выполнения, подчеркнуть необходимость предельной искренности при ответах на вопросы. Следует развеять опасения в том, что результаты тестирования могут быть использованы для какой-либо компрометации испытуемых. Для этого можно напомнить о конфиденциальности информации, полученной от испытуемых на основе «личного доверия» или в социометрических тестах, о доступе к ней лишь тех лиц, для которых она предназначается. Если тестирование анонимное, то об этом также надо публично объявить. При тренинговой работе с испытуемыми нужно объяснить им, что разборка результатов тестирования (в том числе поведения в деловой игре) не связана с этической или деловой оценкой обучающегося, а служит учебным целям, преодолению тех или иных поведенческих слабостей, развитию личности. 
3. Контроль за выполнением заданий. Во время процесса тестирования его организатор следит за тем, чтобы испытуемые работали самостоятельно, не помогали и не мешали друг другу. Уточняющие вопросы по процедуре тестирования задаются непосредственно тестирующему. Не рекомендуется прерывать работу испытуемых и отвлекать их для выполнения какой-либо иной процедуры. При использовании тестов в рамках широких диагностических программ (например, как составной части метода «центр оценки персонала» ) в процессе выполнения тестов целесообразно проводить наблюдения за тем, как работают участники. Это позволяет собрать дополнительную информацию о психологических и деловых качествах испытуемых. 
4. Интерпретация результатов и подведение итогов тестирования. Каждая тестовая методика содержит инструкцию по обработке и интерпретации результатов тестирования. С этой инструкцией тестирующий должен ознакомиться заранее (или повторить, ее перед тестированием). При использовании тестирования в учебно-тренинговой работе (со студентами, руководителями и т.п.) важно заранее подготовить предварительные рекомендации для групп с близкими результатами. Рекомендации следует давать с учетом индивидуальных особенностей обучающихся в корректной форме. Если это позволяют делать результаты тестирования, то рекомендации должны содержать предложения по выбору форм делового поведения (например, профессии, карьеры и т.п.), а также указывать пути самообразования, самовоспитания, самоорганизации, саморазвития испытуемого.

Глава 1.Цели тестирования


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

Тестирование программного обеспечения — проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом. В более широком смысле, тестирование — это одна из техник контроля качества, включающая в себя активности по планированию работ (Test Management), проектированию тестов (Test Design), выполнению тестирования (Test Execution) и анализу полученных результатов (Test Analysis).

Качество программного обеспечения (Software Quality) — это совокупность характеристик программного обеспечения, относящихся к его способности удовлетворять установленные и предполагаемые потребности. [ISO 8402:1994 Quality management and quality assurance]

Верификация (verification) — это процесс оценки системы или её компонентов с целью определения удовлетворяют ли результаты текущего этапа разработки условиям, сформированным в начале этого этапа[IEEE]. Т.е. выполняются ли наши цели, сроки, задачи по разработке проекта, определенные в начале текущей фазы.

1.1 Этапы тестирования

1. Анализ
2. Разработка стратегии тестирования
и планирование процедур контроля качества
3. Работа с требованиями
4. Создание тестовой документации
5. Тестирование прототипа
6. Основное тестирование
7. Стабилизация
8. Эксплуатация

1.2 Тестирование программного обеспечения

Тестирование программного обеспечения — проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом. В более широком смысле, тестирование — это одна из техник контроля качества, включающая в себя активности по планированию работ (Test Management), проектированию тестов (TestDesign), выполнению тестирования(TestExecution) и анализу полученных результатов (Test Analysis).

1.3Тест план (Test Plan) — это документ, описывающий весь объем работ по тестированию, начиная с описания объекта, стратегии, расписания, критериев начала и окончания тестирования, до необходимого в процессе работы оборудования, специальных знаний, а также оценки рисков с вариантами их разрешения.
Отвечает на вопросы:
Что надо тестировать?
Что будете тестировать?
Как будете тестировать?
Когда будете тестировать?
Критерии начала тестирования.
Критерии окончания тестирования.

Глава 2. Тест дизайн

Тест дизайн — это этап процесса тестирования ПО, на котором проектируются и создаются тестовые случаи (тест кейсы), в соответствии с определёнными ранее критериями качества и целями тестирования.
Роли, ответственные за тест дизайн:
• Тест аналитик — определяет «ЧТО тестировать?»
• Тест дизайнер — определяет «КАК тестировать?»

2.1 Техники тест дизайна

• Эквивалентное Разделение (Equivalence Partitioning — EP). Как пример, у вас есть диапазон допустимых значений от 1 до 10, вы должны выбрать одно верное значение внутри интервала, скажем, 5, и одно неверное значение вне интервала — 0.

• Анализ Граничных Значений (Boundary Value Analysis — BVA). Если взять пример выше, в качестве значений для позитивного тестирования выберем минимальную и максимальную границы (1 и 10), и значения больше и меньше границ (0 и 11). Анализ Граничный значений может быть применен к полям, записям, файлам, или к любого рода сущностям имеющим ограничения.

• Причина / Следствие (Cause/Effect — CE). Это, как правило, ввод комбинаций условий (причин), для получения ответа от системы (Следствие). Например, вы проверяете возможность добавлять клиента, используя определенную экранную форму. Для этого вам необходимо будет ввести несколько полей, таких как «Имя», «Адрес», «Номер Телефона» а затем, нажать кнопку «Добавить» — эта «Причина». После нажатия кнопки «Добавить», система добавляет клиента в базу данных и показывает его номер на экране — это «Следствие».

• Предугадывание ошибки (Error Guessing — EG). Это когда тест аналитик использует свои знания системы и способность к интерпретации спецификации на предмет того, чтобы «предугадать» при каких входных условиях система может выдать ошибку. Например, спецификация говорит: «пользователь должен ввести код». Тест аналитик, будет думать: «Что, если я не введу код?», «Что, если я введу неправильный код? », и так далее. Это и есть предугадывание ошибки.

• Исчерпывающее тестирование (Exhaustive Testing — ET) — это крайний случай. В пределах этой техники вы должны проверить все возможные комбинации входных значений, и в принципе, это должно найти все проблемы. На практике применение этого метода не представляется возможным, из-за огромного количества входных значений.

2. Тестирование – очень важный этап разработки мобильных приложений. Стоимость ошибки в релизе мобильного приложения высока. Приложения попадают в Google Play в течении нескольких часов, в Appstore несколько недель. Неизвестно сколько времени будут обновляться пользователи. Ошибки вызывают бурную негативную реакцию, пользователи оставляют низкие оценки и истерические отзывы. Новые пользователи, видя это, не устанавливают приложение.
 

Мобильное тестирование сложный процесс: десятки различных разрешений экрана, аппаратные отличия, несколько версий операционных систем, разные типы подключения к интернету, внезапные обрывы связи.
Поэтому в отделе тестирования у нас работает 8 человек (0,5 тестировщика на программиста), за его развитием и процессами следит выделенный тест-лид. 
Под катом я расскажу как мы тестируем мобильные приложения. 

Тестирование требований


Тестирование начинается до разработки. Отдел дизайна передает тестировщикам навигационную схему и макеты экранов, менеджер проекта – требования невидимые на дизайне. Если дизайн предоставляет заказчик, макеты до передачи в отдел тестирования проверяются нашими дизайнерами

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

Недостатки требований обсуждаются с менеджером проекта, разработчиками и дизайнерами. После 2-3 итераций, вся команда гораздо лучше понимает проект, вспоминает забытый функционал, фиксирует решения по спорным вопросам.

В основном на этом этапе используется basecamp.

Когда требования стали полны и непротиворечивы, тестировщик составляет smoke-тесты и функциональные тесты, покрывающие исходные данные. Тесты деляется на общие и специфические для разных платформ. Для хранения и прогона тестов мы используем Sitecho

Например, для проекта Trava на этом этапе было написано 1856 тестов. 
Первый шаг тестирования закончен. Проект уходит в разработку. 

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

http://pnu.edu.ru/media/filer_public/2013/02/25/book_basics.pdf

http://au.kai.ru/documents/Auzyak_Progr_osn_alg_C_2013.pdf

http://window.edu.ru/resource/126/25126/files/nwpi223.pdf

https://ru.intechcore.com/stages-software-development/

https://habrahabr.ru/post/279535/

Заключение


Создание даже небольшого и технически простого ПО зависит от четкого выполнения каждой фазы, то есть деятельности всех отделов, задействованных в процессе разработки. Четкий план выполнения необходимых мероприятий с указанием конечных целей становится неотъемлемой частью работы разработчиков, планирующих оставаться широко востребованными на рынке труда специалистами. Только правильно составленное техническое задание позволит добиться нужного результата и осуществить разработку по-настоящему качественного и конкурентного ПО для любой платформы — серверной, стационарной или мобильной.

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