Похожие презентации:
Лекция 1. Тестирование как часть процесса верификации программного обеспечения
1.
Лекция 1. Тестирование какчасть процесса верификации
программного обеспечения.
Андреев Игорь Алексеевич
email - s253076@std.novsu.ru rogiandreev@gmail.com
2.
Контроль качества1.
Контроль продукции, в процессе ее производства, для обеспечения
соответствующего качества конечного продукта. (Wikipedia)
2. Систематическая проверка соответствия свойств, характеристик продукции или
услуг установленным требованиям, стандартам, нормам и правилам, с целью
выявления несоответствий и предупреждения брака.
3. Контроль качества, согласно ГОСТ Р ИСО 9000-2015, — это проверка соответствия
количественных или качественных характеристик объекта установленным
требованиям.
3.
Что на самом деле подразумевает контроль качестваКонтроль качества – это систематический процесс проверки соответствия
продукции, услуг или процессов заранее установленным стандартам,
требованиям и ожиданиям потребителей, направленный на выявление и
предотвращение дефектов и недостатков на всех этапах производства или
оказания услуг.
4.
Уильям Эдвардс Деминг (1900–1993)Американский статистик, который изменил
мировую промышленность. При жизни не получив
признания на родине, в 1950 году он был
приглашён в послевоенную Японию, где обучил
руководителей применению статистических
методов для управления качеством во всей
производственной системе, а не для простого
отбраковывания брака. Его философия легла в
основу японского экономического чуда, сделав
страну лидером в качестве, и принесла ему славу
«пророка» за рубежом, прежде чем его наконец
оценили в США.
5.
Цикл PCDA6.
Цикл PDCA (Plan-Do-Check-Act)Цикл PDCA (Plan-Do-Check-Act) — это итеративный метод управления,
направленный на непрерывное улучшение процессов. Он заключается в
последовательном выполнении четырёх этапов: планируй (разработай план и
прогнозируй результат), делай (внедри план в действие на практике),
проверяй (сравни полученный результат с ожиданиями и проанализируй
отклонения) и действуй (стандартизируй успешное решение или проведи
новый цикл для устранения недостатков). Этот подход позволяет системно
тестировать изменения в контролируемых условиях, учиться на ошибках и
постепенно достигать качественно новых результатов.
7.
14 принципов Деминга1. Постоянство цели.
2. Новая философия.
3. Покончите с зависимостью от массового контроля.
4. Покончите с практикой закупок по самой низкой цене.
5. Постоянно улучшайте систему.
6. Внедрите современные методы обучения.
7. Внедрите современные методы лидерства.
8. Изгоняйте страхи.
9. Разрушайте барьеры между подразделениями.
10. Откажитесь от пустых лозунгов и призывов.
11. Устраните произвольные нормы и количественные задания.
12. Дайте работникам возможность гордиться своим трудом.
13. Поощряйте образование и самосовершенствование.
14. Приверженность высшего руководства делу преобразований и их участие в нем.
8.
Джозеф Джуран (1904–2008)Джозеф Джуран (1904–2008) — ещё один американский
гуру качества, которого, как и Деминга, пригласили в
Японию в 1950-х годах для обучения менеджеров. В
отличие от философско-системного подхода Деминга,
Джуран сфокусировался на практическом менеджменте
качества. Его главный вклад — это «трилогия качества»
(планирование, контроль, улучшение), а также принцип
Парето, который он применил к качеству, заявив, что 80%
проблем вызваны 20% причин. Он рассматривал
качество не как узкоспециальную задачу, а как
неотъемлемую часть управления бизнесом, которую
необходимо интегрировать в работу каждой компании.
9.
Трилогия качества1. Планирование качества. На этой стадии определяют целевую аудиторию,
её потребности и разрабатывают характеристики продукта, которые
будут им соответствовать.
2. Контроль качества. Включает мониторинг операций, чтобы выявлять
отклонения от установленных стандартов и сигнализировать о
необходимости действий.
3. Улучшение качества. На этой стадии создают меры для непрерывного
улучшения существующих условий.
10.
Принцип ПаретоПринцип Парето, также известный как правило 80/20, утверждает, что для
многих событий примерно 80% результатов происходят от 20% причин. Это
эмпирическое правило, а не строгий закон, которое наблюдается в
различных сферах: например, 20% клиентов приносят 80% прибыли, 20% дел
определяют 80% успеха проекта. Его суть в том, что усилия и последствия
распределяются неравномерно, поэтому для максимальной эффективности
следует фокусироваться на ключевых, наиболее продуктивных 20%
факторов, а не на всей массе задач.
11.
Что такое тестирование?Тестирование программного обеспечения (ПО) — это процесс оценки
качества разрабатываемого продукта с целью проверки его соответствия
заявленным требованиям, надёжности работы в различных условиях и
степени удобства для конечного пользователя.
Основная задача — выявление ошибок, дефектов или несоответствий,
которые могут повлиять на функциональность или пользовательский опыт.
12.
6 уровней пониманияУровень 1: Тестировщик должен подтверждать, что ПО работает правильно.
Уровень 2: Тестировщик должен искать и находить ошибки в ПО.
Уровень 3: Тестировщик должен оценивать риски и сообщать о качестве ПО.
Уровень 4: Тестировщик должен предотвращать ошибки.
Уровень 5: Тестировщик должен влиять на развитие процесса разработки.
Уровень 6: Тестировщик должен помогать команде создавать ценность для
пользователя.
13.
Основная задача тестировщикаТестировщик должен проверять ПО на наличие дефектов для улучшение
уровня качества и удовлетворения потребностей пользователя.
Тестировщик должен активно взаимодействовать с командой и конечным
пользователем для анализа программного кода и получения обратной связи.
14.
Кто такой тестировщик?1. Это обычный пользователь?
2. Это программист?
3. Это человек ответственный за контроль качества?
4. Это человек, который ищет ошибки в программах?
5. Это тот, кто проверяет, работает ли программа так, как задумано?
6. Это специалист, который ставит себя на место пользователя, чтобы улучшить продукт?
7. Это тот, кто отвечает за качество конечного продукта?
8. Это тот, кто ломает то, что с любовью собрал программист?
9. Это человек, который получает зарплату за то, чтобы всем мешать выпускать сырой продукт?
10. Это профессиональный пессимист, который ищет, к чему бы придраться?
11. Это тот, кто видит стакан наполовину пустым, когда программист видит его наполовину
полным?
12. Это инженер, который обеспечивает выполнение требований к продукту?
13. Это специалист, который автоматизирует рутинные проверки и пишет тестовые сценарии?
14. Это член команды, ответственный за объективную оценку рисков перед выпуском продукта?
15. Это связующее звено между разработчиками, менеджерами и пользователями?
15.
Баг9 сентября 1945 года Грейс Мюррей Хоппер проверяла первый компьютер
Mark на неисправности. Оказалось, что внутри застрял мотылёк.
В этот момент в комнату вошел сослуживец и поинтересовался, чем
занимается Грей.
Она ответила, что очищает компьютер от насекомых (англ. bug — насекомое,
debugging — избавление от насекомых).
Насекомое было извлечено и вклеено в дневник с сопроводительной
подписью «Первый реальный случай обнаружения бага». От этого случая и
пошло слово bug, а этот день стал днём бага (и заодно днём тестировщика).
16.
Эпохи тестированияВ 50-60-х годах процесс тестирования был предельно формализован,
отделен от процесса непосредственной разработки ПО и «математизирован».
Фактически тестирование представляло собой скорее отладку программ
(debugging). Существовала концепция «исчерпывающего тестирования
(exhaustive testing)» — проверки всех возможных путей выполнения кода со
всеми возможными входными данными. Очень скоро было выяснено, что
исчерпывающее тестирование невозможно, т.к. количество возможных путей
и входных данных очень велико, а также при таком подходе сложно найти
проблемы в документации.
17.
70 годыВ 70-х годах фактически родились две фундаментальные идеи тестирования:
тестирование сначала рассматривалось как процесс доказательства
работоспособности программы в некоторых заданных условиях (positive testing), а
затем — строго наоборот: как процесс доказательства неработоспособности
программы в некоторых заданных условиях (negative testing). Это внутреннее
противоречие не только не исчезло со временем, но и в наши дни многими
авторами совершенно справедливо отмечается как две взаимодополняющие
цели тестирования.
• Тестирование позволяет удостоверится, что программа соответствует
требованиям;
• Тестирование позволяет определить условия, при которых программа ведет
себя некорректно.
18.
80 годыВ 80-х годах произошло ключевое изменение места тестирования в
разработке ПО: вместо одной из финальных стадий создания проекта.
Тестирование стало применяться на протяжении всего цикла разработки, что
позволило в очень многих случаях не только быстро обнаруживать и
устранять проблемы, но даже предсказывать и предотвращать их появление.
В этот же период времени отмечено бурное развитие и формализация
методологий тестирования и появление первых элементарных попыток
автоматизировать тестирование.
19.
90 годыВ 90-х годах произошел переход от тестирования как такового к более
всеобъемлющему процессу, который называется «обеспечение качества
(quality assurance)», охватывает весь цикл разработки ПО и затрагивает
процессы планирования, проектирования, создания и выполнения тесткейсов и тестовых окружений.
Тестирование вышло на качественно новый уровень, который естественным
образом привел к дальнейшему развитию методологий, появлению
достаточно мощных инструментов управления процессом тестирования, уже
вполне похожих на своих нынешних потомков.
20.
21 векВ нулевые годы развитие тестирования продолжалось в контексте поиска все
новых и новых путей, методологий, техник и подходов к обеспечению качества.
Серьезное влияние на понимание тестирования оказало появление гибких
методологий разработки и таких подходов, как «разработка под управлением
тестированием (test-driven development, TDD)».
Автоматизация тестирования уже воспринималась как обычная неотъемлемая
часть большинства проектов, а также стали популярны идеи о том, что во главу
процесса тестирования следует ставить не соответствие программным
требованиям, а её способность предоставить конечному пользователю
возможность эффективно решать свои задачи.
21.
Наше времяО современном этапе развития тестирования стоит отметить основные
характеристики: гибкие методологии и гибкое тестирование, глубокая
интеграция с процессом разработки, широкое использование автоматизации,
колоссальный набор технологий и инструментальных средств, кросс
функциональность команды (когда тестировщик и программист во многом
могут выполнять работу друг друга).