Рейтинг
0.00

Тестирование ПО

4 читателя, 37 топиков

Уровни Тестирования (Testing Levels) в Тестировании ПО

В Тестировании ПО можно выделить 4 типичных уровня Тестирования:

Уровни Тестирования (Testing Levels)
Модульное Тестирование (Unit Testing)
— модуль это наименьшая функциональная часть программы или приложения, которая не может функционировать отдельно а только лишь в сочетании с другими модулями. Тем не мение после разработки этого модуля мы уже можем приступить к тестированию и найти несоответсвия с нашими требованиями. Модульное тестирование заключается в тестировании этого отдельного модуля, как части программы, подразумевая что это только модуль и он не может существовать самостоятельно и являтся частью приложения, программы

Интеграционное Тестирование (Integration Testing)
— следующий уровень тестирования, который проводится после Модульного тестирования. После того как отдельные модули нашего приложения были протестированы, нам следует провести Интеграционное Тестирование, чтобы убедиться что наши модули успешно функционируют в связке друг с другом. Иными словами тестируем 2 и более связанных модуля, с тем чтобы проверить что интергация прошла успешно и без явных багов

Читать дальше →

Что такое Регрессионное Тестирование (Regression Testing) в тестировании ПО?

Очень часто Тестировщикам приходится тестировать те модули, которые уже были протестированы ранее. И это заняние заганяет в скуку и «замыливанию глаза» НО я считаю что Регрессия очень важна.



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

После того как вы нашли баг и программисты его пофиксили, следует проверить еще раз, а действительно ли баг пофикшен. Это правильно, но это не регрессионное тестирование а «Retesting», то есть Перетестирование. Если баг пофикшен и все в порядке, не делайте поспешных выводов. После перетестировании баги следует провести регрессионное тестирование задетого модуля, так как при исправленнии бага возможен импакт на этот мудуль.

Таким образом проведение Регрессионного Тестирования очень важно, для того чтобы обеспечить качество выпускаемого продукта на должном уровне

Тестирование Безопасности Web проэктов

Убытки, связанные с киберпреступностью за прошлый год составили около $113 миллиардов долларов в год. Этих денег хватило бы на проведение 10 олимпиад, сопоставимых в олимпиадой в Лондоне в 2012 году.



Топ компаний, которые платят за найденные уязвимости:
— Microsoft. Средняя стоимость бага в Internet Explorer – $4 500
— Facebook. Минимальная стоимость бага — $500
— Google. Ошибка в Chrome стоит около $1 000
— Вконтакте выплатил украинским хакерам по $5 000 за найденную XSS-уязвимость
— Yahoo! $12.5 за уязвимость, платят купонами (на покупку кепок, ручек и маек в интернет-магазине Yahoo)

Читать дальше →

Что такое Баг (Bug) в тестировании ПО?

9 сентября 1947 года ученые Гарвардского университета, которые тестировали вычислительную машину Mark || нашли застрявшего мотылька между контактами электромеханического реле, который произвел к остановке машины. Баг в переводе с английского — это мотылек, жук, насекомое. С тех пор любые неполадки в вычислительной технике называют Багом

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

Что такое Тест кейс (Test Case)?

Тест кейс это что?

Что такое Тест кейс (тестовый случай) — это самая маленькая часть тест документации, это ситуация которая проверяет конкретно взятое условие из требований. Одно условие может проверятся несколькими Тестовыми Случаями (позитивными и негативными). Набор тест кейсов объединяются в тест сьюты

Так тестовый сценарий выглядит в системе для хранения кейсов TestRail:
Тест кейс

Из каких основных полей состоят тест кейсы:

  • ID
  • В это поле записывается номер кейса или номер вместе с какой-то аббревиатурой к примему «PD_Sync_123»служит для их уникальной идентификации среди других кейсов.
  • Summary
  • Cюда записывают краткое описание проблемы. Summary (описание) должно содержать ответ на вопрос что произошло и при каких условиях работает не верно.
  • Steps
  • Здесь описывают шаги, для того чтобы востроизвести баг. Степы рекомендуют максимально сокращать, то есть найти кратчайший путь для воспроизведения бага и описать в степах, и очень важно чтобы они оставались максимально понятными для разработчиков.
  • Expected Result
  • В этом поле описываем ожидаемый результат после хождения по шагам или возможно после конкретных шагов, что бывает реже.
  • Pass/Fail
  • Поле служит для проставления статуса каждому тест кейсу. Если ожидаемый результат совпадает с реальным, то проставляем pass, в противном случае ставим fail. Возможно еще несколько статусов в зависимости от процессов и правил в IT компании
Возможны дополнительные поля для комментариев, ссылок на Баг репорт, Предусловий которые мы должны выполнить перед тем как воспроизводить по Шагам.

Пример Тест Кейса

Простой наглядный пример проверки успешного входа в систему Администратора при условии что его логин и пароль = 'Login' и '12345'.
Можно написать такие Тест Кейсы:

ID
Summary
Steps
Expected Result
Pass/Fail
1Administrator Log in (Positive)1. Open the login page
2. Type 'Login' in the Name field
3. Type '12345' in the Password field
4. Submit
Administrator should be logged in successfullyPassed OR Failed(Поле до стадии выполнения остается пустым или Not tested)
2Administrator Log in with Incorrect password, correct username (Negative)1. Open the login page
2. Type 'Login' in the Name field
3. Type '11111' in the Password field
4. Submit
Administrator should NOT be logged in. «User or Login is incorrect» message is displayedPassed OR Failed(Поле до стадии выполнения остается пустым или Not tested)
3Administrator Log in with Correct password, Incorrect username (Negative)1. Open the login page
2. Type 'Login1' in the Name field
3. Type '12345' in the Password field
4. Submit
Administrator should NOT be logged in. «User or Login is incorrect» message is displayedPassed OR Failed(Поле до стадии выполнения остается пустым или Not tested)

Что такое Граничные значения (Boundaries) и Эквивалентные классы (Equivalence partitioning) в Тестировании ПО?

Эквивалентные классы

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

Чтобы легче было понять давайте предположим что есть простой скрипт или программа, которая предлагает нам ввести возраст человека в текстовое поле вместимостью в 2 символа и что ниже находится кнопка для отправки данных. Результат данной программы должна быть стоимость мед страховки в зависимости от той цифры, которую мы введем. В соответствии с функциональной спецификацией все возраста разделили на четыре категории. Первая это Дети (включает от 0 до 12 лет), Вторая категория это Подростки (включает от 13 до 17 лет), Третья категория это Взрослые (включает от 18 до 59 лет), и последняя Пятая категория это Пенсионеры (включает от 60 до 99 лет). В зависимости от категории к которой относится человек, будет вычисляться стоимость мед страховки:
  • Дети — 10 у.е. в месяц
  • Подростки — 20 у.е. в месяц
  • Взрослые — 30 у.е. в месяц
  • Пенсионеры — 40 у.е. в месяц

В данном случае все входные данные мы можем разделить на 4 эквивалентных класса. Как изображено на изображении ниже.

Equivalence-partitioning

Вопрос: Сколько же тест кейсов нам нужно для проверки всех эквивалентных классов и какие именно?

Читать дальше →

Что такое Тестирование Программного Обеспечения (Software Testing)?

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

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

Тестирование ПО

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

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