Время проведения с 19:00 до 22:00
Что такое «качество программного продукта» и как его измерить? Это мера соответствия требованиям или что-то ещё? Является ли тестирование способом оценки качества? А что ещё кроме тестирования? Покрытие кода автоматическими тестами?Покрытие данных? Насколько им можно доверять?
Начинать здесь следует от печки: с достижения договорённости о том, какое определение термина «качество» использовать. Определений несколько. Мы попробуем их классифицировать и понять, какое подходит лучше.
Следует помнить, что не все йогурты определения одинаково полезны! Качество, как минимум, должно быть измеряемо. То есть, система, его измеряющая, должна на выходе давать число. Придется выбирать из определений, в которых фигурирует слово «метрика».
Какие бы определение и метрику мы не выбрали, нам понадобится способ доказательства или, если угодно, способ измерения соответствия этой метрике. И что здесь приходит в голову? Конечно же, тесты!
А есть ли еще какие-нибудь способы? Для ответа придётся, конечно, договориться о том, что считать тестированием, но, в любом случае, есть еще формальная верификация.
В любом случае, тестирование является неотемлемой частью измерения соответствия программного продукта метрике. Остается только выяснить, насколько можно ему (тестированию) доверять. Доказать, что оно адекватно. Для этого существуют метрики покрытия: например, метрики покрытия кода. Последнее, что остается выяснить: насколько можно доверять метрикам покрытия кода и к каким показателям этих метрик стремиться.
Следует понимать, что изложенное на встрече будет являться личным мнением докладчика, а не являться истиной в последней инстанции. Любая альтернативная позиция по любому из затрагиваемых аспектов будет с радостью принята автором к обсуждению!
Александр (Шура) Ильин занимает в компании Oracle должность Quality Architect в нескольких продуктах, включая (на минуточку!) платформу Java, а так же является автором/лидом/архитектором различных фреймворков и утилит для Java SQE. Несколько лет играл роль Quality Lead/Architect в таких продуктах как Java Studio Creator и NetBeans.
Возглавляет в Java-подразделении компании Oracle разработку многих инструментов от фреймворков для запуска тестов до библиотек, вычисляющих значения различных метрик. В частности, является автором Jemmy — open-source инструмента для тестирования GUI.