zabika.ru 1 2 ... 4 5

Вопрос 1

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


  1. Деструктивное мышление

  2. Умение точно описывать конфигурацию системы

  3. Умение четко документировать результаты

  4. Способность (психологическая) приносить плохие вести

  5. Стрессоустойчивость

  6. Гибкость мышления

  7. Способность одновременно видеть и всю картину, и детали

  8. Экспертные знания в различных областях (помимо тестирования)

  9. Умение программировать

  10. Умение быстро обучаться и осваивать новые программы и инструменты

  11. Терпение


Вопрос 3

Что такое качество?

Термин неясен и неоднозначен, в связи с тем, что:

  • Слишком «широкий» термин -существует множество аспектов

  • Каждый понимает под «качеством» свое

  • Термин «качество» - частью нашего повседневного общения, однако общепринятое и профессиональное использование сильно отличается


Популярный взгляд на качество:

  • нематериальное и "неосязаемое" – о нем можно спорить, его можно критиковать и восхвалять, но взвесить и измерить невозможно




  • качество неразрывно связанно с роскошью и первым сортом – чем больше наворотов, тем качественнее; качество ограниченно определенным классом дорогостоящих продуктов


Профессиональный подход к качеству имеет два аспекта:

  • Пригодность к использованию.


Делает ли данный продукт то, в чем я нуждаюсь, облегчает ли он мою работу, могу ли я его

использовать так, как мне удобно. Готов ли продукт закрыть мои потребности.


  • Соответствие специфицированным и собранным требованиям

делает ли данный продукт все то, что указано в требованиях.
Критерии качества:

  1. Понятность(заказчик должен интуитивно понять как работать с программой)

  2. Полнота(на сколько полно приложение покрывает предметную область, но не избыточность)

  3. Краткость (отсутствие избыточности)

  4. Портируемость (на скольких платформах работает приложение)

  5. Согласованность (соответствие программы и документации)

  6. Сопровождаемость (Насколько сложно изменить программу для удовлетворения новых требований)

  7. Тестируемость (Компелятор – это самый не удачный продукт с т.з. тестирования )

  8. Usability (Простота и удобство использования)

  9. Надежность

  10. Эффективность использования ресурсов

  11. Безопасность



Вопрос 4 Возможно ли полное тестирование? (привести метрику, оценивающую сложность тестирования)
Любой программный продукт сложнее “Hellow World” невозможно полностью проверить.

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


Вопрос 5


Принципы тестирования

  1. Описание выходных значений – необходимая часть тестового набора ( в зависимости от того, что мы ожидаем выполняется тест)

  2. Тестирование автором – неэффективно
  3. Негативные тесты следует разрабатывать так же тщательно, как и позитивные (пользователь четко должен знать, что должно работать, а что не должно работать)


  4. Необходимо проверять не только то, что программа должна делает, но и то, что она не должна делать. (т.к может быть что добавлено, но не описано в документации и будет выдавать не правильные данные => это нужно предусмотреть)

  5. Не следует выбрасывать тесты по завершению тестирования (тестовые данные можно прогонять на других проектах, так же это помогает при сопровождении продукта, доработке и т.д.)

  6. При планировании нельзя закладывать что ошибок НЕ БУДЕТ.

  7. Вероятность обнаружения ошибок в модуле пропорциональна числу уже обнаруженных ошибок. (разные модули делают разные разработчики, к тому же модули бывают разные. => на сложных мод-х много ошибок у не опытных программистов так же много ошибок.)

  8. Тестирование – процесс творческий.



Вопрос 6 (Краткая характеристика этапов жизненного цикла ПО)

Модель жизненного цикла разработки ПО является единственным видом процесса, в котором представлен порядок его осуществления. Модель жизненного цикла разработки ПО (Software Life Cycle Model, SLCM) схематически объясняет, каким образом будут выполняться действия по разработке программного продукта, посредством описания «последовательности» этих действий. Такая последовательность может быть или не быть линейной, поскольку фазы могут следовать друг за другом, повторяться или происходить одновременно.
Модель SLCM – это схема (или основа), используемая разработчиком ПО для определения повторяющегося процесса при создании программного продукта. Она определяет точные инструкции, которые разработчик может использовать для создания только высококачественных программных систем. Понятие жизненного цикла ПО относится ко всем программным проектам, причем независимо от их размеров.

Жизненный цикл – это своего рода «карта-путеводитель» для всех участников проекта, которая помогает им понять, не выходят ли они за определенные для них границы. Для управления программным проектом возникает необходимость в некотором роде карты для планирования действий и хронологий их выполнения.

Основные этапы жизненного цикла


  • Спецификация требований

(Оценка реального объема проекта, его целей и задач)

  • Анализ

(исследование бизнес-процессов)

  • Проектирование

(формирование модели данных)

  • Реализация

  • Тестирование

  • Внедрение

  • Эксплуатация и техподдержка


Вопрос 7

Каскадная модель

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

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



следующая страница >>