Проверка программного обеспечения

Материал из Tair Wiki
Перейти к: навигация, поиск

Проверка программного обеспечения ведется на этапе его создания и тестового пользования.

Типовая процедура проверки

  1. Проверка содержания. Программное обеспечение должно содержать только необходимые и оговоренные проверки, верно заданные допуска и выполнять правильные настройки штатного программного обеспечения прибора. Проверка проводится на соответствие документации (спецификации или методики проверки) на прибор.
  2. Проверка Штатного Функционирования. Программное обеспечение должно выполнять свои функции. Эта проверка строится с позиции обычного пользователя - нужно пройти по всему программному обеспечению и выполнить все предусмотренные процедуры, выполнить все измерения, заполнить все формы правильными данными, задействовать все дополнительные функции навигации, печати и сохранения, просмотреть всю предложенную справочную информацию.
  3. Проверка Сохранности Данных. Все собранные данные должны сохраниться. Проверяется, что данные действительно выводятся на печать и сохраняются в файл полностью, не исчезают при штатном использовании элементов управления программного обеспечения (кроме элементов, специально предназначенных для стирания данных).
  4. Проверки должны выполняться для всех режимов работы программного обеспечения: редактирования и чтения.

Оптимальная последовательность проверок для VNAPT:

  1. Проверить правильность указания на главной странице и в тестах проверяемых и допускаемых значений и их частотных диапазонов. За эталонные для англоязычного программного обеспечения (кроме предназначенного для сертификации) брать данные в опубликованном на CMT data sheet. Для русскоязычного - данные из описания типа или методик поверки.
  2. Проверить правильность работы решения "Соответствует" - "Не соответствует" размещенного как в шапке теста, так и в каждой строке таблиц теста и в таблице на главной странице. Данные для заполнения произвольные, заведомо превышающие допуска. В ходе этой проверки также контролируется, что выбираются правильные данные (ближайшие к допускам) для постановки в таблицу на главной странице.
  3. Проверить, что инструкции отображаются правильно для каждого теста и одинаковые в окне Инструкция и в спойлере.
  4. Проверить настройки, которые задает VNAPT для штатного программного обеспечения прибора. Проверку проводить на соответствие настройкам, указанным в методике проверки.
  5. Заполнить все поля протокола годными данными, выполнив каждую предусмотренную проверку.
  6. Сохранить протокол в файл. Проверить, что данные отобразились.
  7. Отправить протокол на печать. Проверить, что данные отобразились.
  8. Закрыть протокол.
  9. Создать копию протокола prf.
  10. Открыть копию протокола, проверить наличие всех данных и очистить все поля.
  11. Сохранить в файл копию протокола. Проверить, что постоянные данные отобразились, а очищенные действительно удалены.
  12. Отправить на печать копию протокола. Проверить, что постоянные данные отобразились, а очищенные действительно удалены.
  13. Закрыть копию протокола.
  14. Выключить прибор. Открыть первоначальный протокол в режиме чтения. Проверить, что данные отобразились.
  15. Сохранить в файл протокол. Проверить, что данные отобразились.
  16. Отправить на печать протокол. Проверить, что данные отобразились.

Проверка правильности вычислений

Проверка выполняется на этапе разработки программного обеспечения. Проверка выполняется сравнением полученных в результате работы VNAPT данных и данных, расcчитанных в стороннем математическом программном обеспечении.

Алгоритм применяется, если все нужные файлы есть сразу
Алгоритм применяется, если нужные файлы набираются постепенно, синхронно с работой VNAPT
Алгоритм применяется для приборов в типе N 75 Ом, если нужные файлы набираются постепенно, синхронно с работой VNAPT

Метрологический аcпект

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

Ресурсы сети, посвященные проверке программного обеспечения:

Официальный сайт WELMEC - тут размещены руководства по проверке программного обеспечения Welmec 7.1 Information document on Software Requirements on the Basic of the Measuring Instruments Directive и Welmec 7.2 Software Guide (Measuring Instruments Directive 2004/22/EC)
Официальный сайт OIML - тут размещены требования к программному обеспечению: D31 General requirements for software controlled measuring instruments

Европейская нормативная база отличается от российской тем, что европейские нормы распространены на конкретные виды средств измерений, наиболее тесно связанные с расчетами между потребителями (водо- и электро- счетчики и т.п. В общем, не наш случай). В России требования по проверке программного обеспечения распространены на все виды средств измерений. Между тем, руководство Welmec 7.2 написано толково и может применяться как рациональный справочник по методам проверки программного обеспечения.

Пользовательский аспект

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

Основные свойства программного обеспечения, которые проверяются при такой проверке:

  1. Работа установщика - установка полного и частного комплекта программы, текст в установщике, корректность отображения программы в меню персонального компьютера после многократной установки и удаления, выбранное место установки, работа ярлыков
  2. Функционирование "защиты от дурака" - ввод недопустимых символов: цифр и букв в поля для ввода, многократное нажатие одних и тех же кнопок, подгрузка файлов недопустимых форматов и файлов допустимых форматов с некорректными данными, влияние системных параметров персонального компьютера (точки и запятые, языки, права пользователя), сохранение результатов работы программного обеспечения (сохранение в файл с различными местами размещений и печать на принтере).
  3. Проверка "на бабушку" - не должно быть неоднозначных ситуаций (не поднимающихся, но открытых окон; двойного нажатия кнопки для выполнения одной функции и т.п.), в которых пользователь хотя бы на секунду засомневался или задумался или не понял, что произошло.
  4. Наличие ограничений и сообщений пользователю на его корректные и некорректные действия. Недопустимая информация не должна вводиться и передаваться в прибор. Сообщения должны быть читаемы и понятны.
  5. Внешний вид каждой формы программного обеспечения - опечатки, шрифты, размеры букв, отступы, размещение таблиц и графиков по листу формы - красота и симметричность. Таблицы должны быть одинаковыми по оформлению, ширине и т.п.
  6. Корректность работы программного обеспечения - правильность управления прибором, правильность выполненных расчетов, построенных графиков, отображаемых (выбранных за результат) результатов проверки. Другими словами, это проверка соответствия настроек и формул, реализуемых программным обеспечением, настройкам и формулам, заданным в документах типа: методика поверки (калибровки), англоязычный performance test, методика выполнения измерений, руководство по эксплуатации на прибор. Правильность отображения сервисной информации: заводской номер прибора, версии программного обеспечения.
  7. Каждый новый тест должен начинаться со сброса настроек проверяемого прибора в состояние "по-умолчанию".
  8. Затем должен применяться перечень настроек к текущему тесту (установка диапазона частот, фильтра ПЧ, уровня мощности и тп.).
  9. В тестах, которые не предполагают измерений при помощи прибора, например, главная страница, внешний осмотр и проверка присоединительных размеров, должен быть проведен сброс в настройки по умолчанию и выключен сигнал с выхода СВЧ.
  10. При закрытии VNAPT на любом тесте должен выполняться сброс в настройки по умолчанию.
  11. При закрытии ПО прибора, VNAPT при очередном обращении к ПО прибора должен обработать исключение и, при необходимости, загрузить ПО прибора заново (при работе с VNAPT из-под стартовой страницы) или спокойненько закрыться.
  12. Должен быть определен минимальный допустимый размер таблицы (графиков), размещенных в окне теста, при котором текст отображается красиво и правильно.
  13. Текст не должен вписываться с клавиатуры, вставляться из буфера в поля для записи чисел. Если число не может быть отрицательным в поле, должна быть дополнительная проверка на знак - минус не должен вводиться в поле. Должны применяться применяться ограничения на количество вводимых знаков, в том числе для знаков после запятой: знаков должно допускаться вводить столько, сколько знаков указано в погрешности или граничном значении.
  14. Попытка повторного открытие версии VNAPT не должно приводить к "падению" или сбою в работе предыдущего экземпляра.
  15. VNAPT при работе не должен "поедать" память.
  16. В режиме "Открыть" VNAPT должен открывать отчет для прибора, заводской номер которого отличается от номера подключенного. Внесение изменений в такой отчет и управление подключенным прибором с другим номером должны быть недоступны.
  17. VNAPT должен работать из-под учетных записей пользователей: "Гость", "Обычный пользователь", "Администратор".
  18. Проверка англоязычного VNAPT должна выполняться при установленном языке системы Английский (США).
  19. Безопасность - прибор под управлением программного обеспечения не должен повредить оператору или другому прибору и не должен повредиться сам. Сигнал с выхода СВЧ должен выключаться, когда это опасно для оператора, установка предельных параметров (например, максимальной мощности) должна сопровождаться сообщением и тп.
  20. Проверка на устойчивость - проверка на неадекватные действия пользователя и внезапность (выключение питания, обрыв кабеля, "падение" программного обеспечения, влияние других программ на работу подопытной, "взлом" проверяемого ПО, подмена или удаление файлов, перемещение папки с программным обеспечением).

Специальные файлы

Загрузка Файл:FailFile.s1p в программу S2VNA версии 16.3.1 вызывает её зависание. Файл сделан изменением расширения ярлыка на s1p.

Программные продукты для автоматизации тестирования

  1. HP QuickTest Professional (QTP) — один из ведущих инструментов автоматизации функционального тестирования, является флагманским продуктом компании HP в своей линейке. Для разработки автоматизированных тестов QTP использует язык VBScript, и поддерживает следующие технологии: Windows® Presentation Foundation, Web services, Macromedia Flex, Ajax, Delphi, .NET, J2EEWeb, Visual Basic, ActiveX, Java, Oracle, SAP Solution, TE, PowerBuilder, Siebel, PeopleSoft, VisualAge, Stingray. Компания HP рекомендует использование QTP в интеграции с HP Quality Center для установления связи тестов с требованиями, хранения тестов, управления их запуском, формирования отчётов. Особенности: В отличие от ряда других продуктов для автоматизации функционального тестирования (например, en:TestComplete, IBM Rational Robot), QTP позволяет контролировать генерируемый текст скрипта в процессе записи действий пользователя, за счёт чего снижается время, необходимое для разработки теста. В QTP информация обо всех объектах экранного интерфейса сохраняется в специальный репозиторий (Object Repository), что новому пользователю может показаться непрозрачным. Умолчания по выбору существенных свойств каждого типа объектов экранного интерфейса могут быть настроены отдельно, например, окно может определяться заголовком, а столбец таблицы — шириной и порядковым номером в таблице. Существует встроенный механизм сравнения текстовых данных с использованием регулярных выражений.
  2. Selenium - это инструмент для автоматизированного управления браузерами. Наиболее популярной областью применения Selenium является автоматизация тестирования веб-приложений. Однако при помощи Selenium можно (и даже нужно!) автоматизировать любые другие рутинные действия, выполняемые через браузер. Разработка Selenium поддерживается производителями популярных браузеров. Они адаптируют браузеры для более тесной интеграции с Selenium, а иногда даже реализуют встроенную поддержку Selenium в браузере. Selenium является центральным компонентом целого ряда других инструментов и фреймворков автоматизации. Selenium поддерживает десктопные и мобильные браузеры. Selenium позволяет разрабатывать сценарии автоматизации практически на любом языке программирования. С помощью Selenium можно организовывать распределённые стенды, состоящие из сотен машин с разными операционными системами и браузерами, и даже выполнять сценарии в облаках.
  3. IBM Rational Functional Tester - это инструмент автоматического функционального тестирования и регрессионного тестирования. Это программное обеспечение предоставляет функции автоматического тестирования для функционального, регрессионного тестирования, тестирования графических пользовательских интерфейсов и тестирования, ориентированного на данные. Rational Function Tester поддерживает ряд приложений, таких как веб-приложения, приложения для .Net, Java, Siebel, SAP, приложения на основе эмулятора терминала, PowerBuilder, Ajax, Adobe Flex, Dojo Toolkit, GEF, документы Adobe PDF, zSeries, iSeries и pSeries.
  4. Microsoft UI Automation is an accessibility framework that enables Windows applications to provide and consume programmatic information about user interfaces (UIs). It provides programmatic access to most UI elements on the desktop. It enables assistive technology products, such as screen readers, to provide information about the UI to end users and to manipulate the UI by means other than standard input. UI Automation also allows automated test scripts to interact with the UI. Where Applicable: By using UI Automation and following accessible design practices, developers can make applications running on Windows more accessible to many people with vision, hearing, or motion disabilities. Also, UI Automation is specifically designed to provide robust functionality for automated testing scenarios
  5. Rational Robot - автоматизация регрессионного, функционального и конфигурационного тестирования IBM Rational Robot автоматизирует регрессионное, функциональное и конфигурационное тестирование приложений для электронной коммерции, клиент-серверных приложений и приложений для планирования ресурсов предприятия (ERP-систем). Этот продукт предназначен для тестирования приложений с помощью широкого спектра технологий пользовательского интерфейса. Продукт интегрируется с решением IBM Rational TestManager, что обеспечивает поддержку управления настольными компьютерами для всех задач тестирования
  6. TestComplete позволит вам автоматизировать все виды тестирования разработанных вами приложений в одном удобном в использовании пакете. Можно сказать, что TestComplete это полнофункциональная среда для всестороннего автоматизированного тестирования Windows,. NET, Java и веб-приложений. Изначально, она была разработана для разработчиков программного обеспечения и отделов тестирования софта, для того чтобы уменьшить временные затраты необходимые на ручное тестирование. TestComplete предлагает систематизированное, автоматизированное и структурное тестирование, с превосходной поддержкой .NET, Java, Visual C + +, Visual Basic, Delphi, C + + Builder и веб-приложениями. ТестКомплит является наилучшим решением для выполнения «nightly» тестов и поможет вам в получении надежных ежедневных сборок программного обеспечения.
  7. MonkeyRunner Несмотря на схожее с Monkey название, MonkeyRunner совершенно другой инструмент, который позволяет выполнять функциональное тестирование приложения («прокликивающие» тесты), предоставляя API для управления устройством. MonkeyRunner является более низкоуровневым по сравнению с Robotium, и не требует исходного кода приложения в сравнении с Robolectric. Но только лишь тестированием область применения MonkeyRunner не ограничивается — с его помощью можно строить системы, контролирующие android-устройства через UI (и не только). MonkeyRunner использует Jython и скрипты или сценарии тестов могут быть написаны на Python, или записать действия пользователя с помощью рекордера.
  8. SilkTest is a test automation solution for development, quality and business teams who need to deliver software faster. With Silk Test you can create and execute tests across multiple platforms and devices to ensure that your applications work exactly as intended.
  9. Robotium is the leading test automation framework for Android development. Robotium was developed in 2010 by Renas Reda, an international authority within test automation

Программные продукты для нагрузки

  1. LoadRunner
  2. TestComplete
  3. NeoLoad
  4. Performance Tester
  5. jMeter
  6. SilkPerformer
  7. The Grinder

Методологии разработки программного обеспечения

  1. Agile
  2. XP
  3. RUP
  4. MSF

Классификация пользователей