Архив метки: тестирование

Юзабилити аудит

Определение Юзабилити аудита

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

Юзабилити представляет собой степень удобства использования веб-сайта определенными пользователями в конкретном контексте. Эта характеристика измеряется по эффективности, продуктивности и уровню удовлетворенности пользователей. Важность юзабилити заключается в обеспечении приятного и эффективного взаимодействия пользователей с веб-ресурсом, что приводит к повышению удовлетворенности пользователей, улучшению конверсии и обеспечению конкурентоспособности продукта на рынке. Частью юзабилити является как юзабилити тестирование так и юзабилити аудит.

Читать далее Юзабилити аудит

Конфигурационное тестирование

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

Что такое конфигурационное тестирование?

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

Цели конфигурационного тестирования

  1. Гарантировать кросс-платформенную совместимость: Основная цель — удостовериться, что программное обеспечение работает на всех основных конфигурациях без проблем и сбоев.
  2. Выявить конфигурационные дефекты: Тестирование на разных конфигурациях помогает выявить дефекты, связанные с определенными настройками или средами выполнения.
  3. Улучшить пользовательский опыт: Пользователи работают на разных устройствах, и конфигурационное тестирование помогает удостовериться, что приложение будет работать надежно для всех.
  4. Убедиться в безопасности: Проверка, как приложение ведет себя на разных платформах, помогает выявить уязвимости и обеспечить безопасность.
Читать далее Конфигурационное тестирование

Тестирование безопасности веб приложений

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

Цели и задачи тестирования безопасности веб приложений

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

  • Идентификация уязвимых мест в приложении
  • Оценка уровня риска для системы при наличии уязвимостей
  • Проверка соответствия веб-приложения стандартам безопасности
  • Проверка правильности работы системы защиты от атак
  • Проверка корректности обработки ошибок в приложении
Читать далее Тестирование безопасности веб приложений

Шутливые виды багов

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

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

Читать далее Шутливые виды багов

Что нужно автоматизировать в тестировании ?

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

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

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

Читать далее Что нужно автоматизировать в тестировании ?

Куда может развиваться карьера QA

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

Вертикальное развитие карьеры QA от Junior до Senior / Lead QA

Путь от начинающего тестировщика до senior QA проходит через несколько этапов. В начале карьера QA это изучение основ и фундаментальных знаний, тестировщик должен изучать основные методологии тестирования и научиться работать с различными инструментами. Он должен знать основные техники тестирования, уметь писать тест-кейсы и отчеты о найденных ошибках.

В дальнейшем, тестировщик может стать middle QA, который уже более уверенно работает с инструментами тестирования, может организовывать работу своей команды и проявлять больше инициативы в процессе тестирования.

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

После этого, возможен переход на должность lead QA, которая уже более связана с управлением проектами, бюджетами и командами, а также ведением переговоров с заказчиками.

Читать далее Куда может развиваться карьера QA

Основные различия Android/iOS

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

Открытость и закрытость

Одни наиболее явные различия Android/iOS является их открытость и закрытость соответственно. Android является открытой операционной системой, которая позволяет разработчикам создавать приложения и модифицировать код ядра. Это означает, что приложения Android имеют больше свободы, что позволяет создавать множество различных приложений для этой платформы. С другой стороны, iOS является закрытой системой, которая ограничивает доступ разработчиков к коду ядра. Это означает, что приложения iOS имеют ограничения в своих возможностях.

Различия в пользовательском интерфейсе

Еще одни существенные различия Android/iOS является их пользовательский интерфейс. В Android пользователь может настроить свой главный экран, добавить виджеты и изменить тему, что обеспечивает большую свободу в настройке интерфейса. В iOS пользовательский интерфейс имеет более жесткие ограничения, поскольку Apple стремится обеспечить единообразность интерфейса на всех устройствах.

Читать далее Основные различия Android/iOS

Чек-лист локализации

Когда мы составляем Чек-лист локализации программного обеспечения необходимо учитывать следующие основные моменты, которые можно сгруппировать:

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

Пример чек-лист локализации

Чек-лист локализации дат, примеры разных форматов дат в разных культурах и летоисчислений:

  1. В США даты обычно записываются в формате месяц/день/год. Например, 4 июля 2022 года будет записываться как 07/04/2022.
  2. В Европе даты обычно записываются в формате день/месяц/год. Например, 4 июля 2022 года будет записываться как 04.07.2022.
  3. В Японии даты обычно записываются в формате год/месяц/день. Например, 4 июля 2022 года будет записываться как 2022年7月4日.
  4. В Израиле использование летоисчисления может отличаться от использования григорианского календаря. Например, в Израиле дата может быть записана как 4.7.22, где «22» обозначает год в иврите (תשפ״ב), который начался в сентябре 2021 года и закончится в сентябре 2022 года.
  5. В Индии даты могут быть записаны в формате день/месяц/год, как в Европе, или в формате год/месяц/день, как в Японии, в зависимости от региона и культуры. Например, 4 июля 2022 года может быть записан как 04/07/2022 или 2022/07/04.

Примеры разного исчисления в разных календарных системах:

  • В григорианском календаре, который используется в большинстве западных стран, текущий год — 2023.
  • В исламском календаре, текущий год — 1444 (в настоящее время исламский календарь находится в году 1443, но в 1444 году он начнется в конце августа).
  • В еврейском календаре, текущий год — 5783 (в настоящее время еврейский календарь находится в году 5782, но в 5783 году он начнется в сентябре).
  • В китайском календаре, текущий год — 4719 (в китайском календаре используется циклическая система, поэтому годы не нумеруются простыми числами, а имеют свои названия).
  • В индуистском календаре, текущий год — 2079 (в индуистском календаре также используется циклическая система, и годы имеют свои названия).

Локализация валюты, дробей и чисел, которые можно использовать для тестирования интерфейса:

  1. Написание чисел: на английском языке используется десятичный разделитель точка (.), а разделитель тысяч — запятая (,). В ряде других языков используется другой десятичный разделитель — запятая (,), а разделитель тысяч — пробел. Например, во французском языке число 1 000 000,5 записывается как 1 000 000,5.
  2. Написание валюты: на разных языках используются различные обозначения валюты. Например, для доллара США на английском языке используется знак доллара ($), на французском языке — знак € (EUR), а на японском языке — символ 円 (JPY).
  3. Формат дробей: на некоторых языках используется другой формат дробей. Например, на немецком языке вместо десятичного разделителя точки используется запятая, а в качестве разделителя дробной части используется косая черта. Например, число 3,1415 на немецком языке записывается как 3,1415/10.
  4. Разделитель групп разрядов: в некоторых языках используется другой разделитель групп разрядов. Например, на испанском языке в качестве разделителя используется точка, а в качестве разделителя дробной части — запятая. Например, число 1 000,5 на испанском языке записывается как 1.000,5.
  5. Способы написания чисел: на некоторых языках используется другой способ записи чисел. Например, в ряде арабских стран используется написание чисел справа налево, а не слева направо, как в большинстве других языков.
Чек-лист локализации для конвертации мер
Чек-лист локализации для конвертации мер

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

  1. Температура: на английском языке используется градус Фаренгейта (°F), в то время как на большинстве других языков используется градус Цельсия (°C). Например, в Японии температура 68 °F (20 °C) может быть переведена как «20度».
  2. Вес: на английском языке используется фунт (lb), а на большинстве других языков — килограмм (kg). Например, в Канаде вес 150 фунтов (68 кг) может быть переведен как «68 кг».
  3. Расстояние: на английском языке используется миля (mi), в то время как на большинстве других языков используется километр (km). Например, в Бразилии расстояние 100 миль (160 км) может быть переведено как «160 км».
  4. Объем: на английском языке используется галлон (gal), а на большинстве других языков — литр (L). Например, в России объем 5 галлонов (19 л) может быть переведен как «19 л».
  5. Скорость: на английском языке используется миля в час (mph), в то время как на большинстве других языков используется километр в час (km/h). Например, в Италии скорость 60 миль в час (97 км/ч) может быть переведена как «97 км/ч».
Чек-лист локализации с использованием разных алфавитов, адресов и телефонных номеров
Чек-лист локализации с использованием разных алфавитов, адресов и телефонных номеров

Чек-лист локализации с использованием разных алфавитов, адресов и телефонных номеров

Разные алфавиты:

  • Китайский: 您好 (привет), 中国 (Китай)
  • Японский: こんにちは (привет), 日本 (Япония)
  • Арабский: السلام عليكم (здравствуйте), الإمارات العربية المتحدة (Объединенные Арабские Эмираты)
  • Греческий: γεια σας (привет), Ελλάδα (Греция)
  • Русский: привет, Россия

Примеры форматов адресов:

  • США: 123 Main Street, Apt. 4, Anytown, NY 12345
  • Канада: 456 Maple Ave, Unit 2, Toronto, ON M1M 1M1
  • Великобритания: 789 High Street, London W1A 1AA
  • Китай: 456 北京市朝阳区建国路 1 号院 2 号楼 3 单元,100000
  • Япония: 東京都千代田区1-1-1

Примеры форматов телефонных номеров:

  • США: (123) 456-7890
  • Канада: (123) 456-7890
  • Великобритания: +44 20 1234 5678
  • Франция: +33 1 23 45 67 89
  • Китай: +86 10 1234 5678
  • Япония: +81 3-1234-5678

Критичность и приоритет дефектов

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

Критичность дефекта, или Severity, описывает важность воздействия конкретной ошибки на функционирование ПО. Она определяется на основе технических характеристик дефекта и может быть критической, высокой, средней или низкой. Критический дефект имеет наибольшую критичность и приводит к масштабным последствиям, таким как потеря данных или нарушение ключевой функциональности ПО. Высокий дефект также имеет серьезное воздействие на пользователей, но не настолько критичен, как критический. Средний дефект может влиять на работу пользователей, но в большинстве случаев имеет обходные пути. Низкий дефект имеет наименьшую критичность и редко влияет на работу пользователей.

Читать далее Критичность и приоритет дефектов