Методологии тестирования ПО. Какую выбрать? Тестирование. Фундаментальная теория

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

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

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

Где применяется психологическое тестирование?

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

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

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

Тест Айзенка

Тесты по психологии личности занимают большую область в данной науке. Первым опросником, который следует пройти для того, чтобы лучше понять себя, является тест Айзенка, или, иначе говоря, исследование темперамента человека. Существует 4 основных типа темперамента: флегматик, и меланхолик. Как проходить психологические тесты? Чтобы определить, к какому из типов вы можете отнести себя, следует дать ответы на следующие 57 вопросов. Отвечать нужно только «да» или «нет».

  1. Нравится ли вам находиться в эпицентре активности и суеты?
  2. Вы склонны к тому, чтобы чувствовать беспокойство от того, что вы не знаете, чего хотите?
  3. Относитесь ли вы к людям, которые за словом в карман не полезут?
  4. Склонны к беспричинным перепадам настроения?
  5. Стараетесь обойти шумные вечеринки и праздники, а если и присутствуете на них, то стараетесь быть максимально далеко от центра внимания?
  6. Вы всегда делаете то, о чем вас попросят?
  7. Часто ли на вас нападает плохое настроение?
  8. В ссорах ваш основной принцип - молчание?
  9. Легко ли меняется ваше настроение?
  10. Любите находиться в кругу людей?
  11. Случается ли такое, что вы не можете уснуть из-за тревожных мыслей?
  12. Вас можно считать упрямым?
  13. Считают ли вас бесчестной личностью?
  14. Говорят ли о вас, что вы ненаходчивый человек?
  15. Лучшая работа - в одиночестве?
  16. Плохое настроение - частый и беспричинный гость?
  17. Считаете ли вы себя активным человеком в самом эпицентре жизни?
  18. Могут ли стать причиной вашего смеха?
  19. Бывает ли у вас такое состояние, когда что-либо надоело по самое горло?
  20. Чувствуете себя уверенно только в привычной и удобной одежде?
  21. Вам сложно сосредоточиться?
  22. У вас нет проблем с выражением собственных мыслей словами?
  23. Часто погружаетесь в личные раздумья?
  24. Вы человек, отвергающий предрассудки?
  25. Считаете ли себя любителем розыгрышей?
  26. В основном ваши мысли о работе?
  27. Важно ли для вас вкусно поесть?
  28. Когда вы желаете выговориться, важно ли, чтобы ваш собеседник был в хорошем расположении духа?
  29. Не любите брать в долг?
  30. Склонны ли похвастаться?
  31. Считаете себя чувствительным к чему-либо?
  32. Вам предпочтительнее домашняя посиделка в одиночестве, чем шумный праздник?
  33. Посещает ли вас сильное беспокойство?
  34. Строите ли вы планы намного раньше необходимого?
  35. Случаются ли головокружения?
  36. Отвечаете на сообщения сразу же?
  37. Ваши дела идут лучше, если вы их делаете самостоятельно, чем с группой?
  38. Случается ли у вас одышка даже без физических нагрузок?
  39. Считаете ли вы себя человеком, который может спокойно отойти от общепринятых правил (в рамках нормы)?
  40. Беспокоит состояние вашей нервной системы?
  41. Любите строить планы?
  42. Лучше отложить на завтра то, что можно сделать и сегодня?
  43. Боитесь замкнутых пространств?
  44. Инициативны ли вы при первой встрече с человеком?
  45. Случаются ли сильные головные боли?
  46. Вы приверженец того, что многие проблемы могут решиться сами?
  47. Страдаете бессонницей?
  48. Склоны к лжи?
  49. Случается ли такое, что говорите первое, что придет в голову?
  50. Попадая в глупую ситуацию, вы часто вспоминаете ее и волнуетесь о ней?
  51. Замкнуты ли вы?
  52. Часто попадаете в неприятные ситуации?
  53. Вы заядлый рассказчик историй?
  54. Главное - не победа, а участие - это не про вас?
  55. Вам некомфортно в обществе, где люди выше вас по социальному положению?
  56. Когда все складывается против вас, вы продолжаете действовать?
  57. Вас сильно охватывает волнение перед важным делом?

Теперь сверимся с ключом.

Ключ к тесту

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

Экстраверсия - интроверсия

Ответы «да»: 1, 3, 8, 10, 13, 17, 22, 25, 27, 39, 44, 46, 49, 53, 56.

Ответы «нет»: 5, 15, 20, 29, 32, 34, 37, 41, 51.

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

Шкала нейротизма

Шкала нейротизма на этом же круге имеет обозначение устойчивости-неустойчивости. Здесь необходимо сверить только ответы «да».

Ответы «да»: 2, 4, 7, 9, 11, 14, 16, 19, 21, 23, 26, 28, 31, 33, 35, 38, 40, 43, 45, 47, 50, 52, 55, 57.

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

Ложь

Шкала лжи не отображается на круге, но для ее определения специально выделены несколько вопросов.

Ответы «да»: 6, 24, 36.

Ответы «нет»: 12, 18, 30, 42, 48.

Стоит отметить, что, отвечая на подобные психологические тесты с ответами, вы прежде всего должны быть предельно честны сами с собой. Ключ к данной шкале максимально прост: если вы набираете более 4 баллов по этому пункту, это значит, что вы были неискренны в некоторых вопросах. Отметка 4 и ниже свидетельствует о норме в ответах.

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

Пояснения к кругу Айзенка

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

Сангвинистический

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

Сангвиники нуждаются в постоянных переменах и новизне. Это самая настоящая потребность, поскольку если заставить сангвиника долго делать нудное дело, его жизнерадостность погаснет, человек станет вялым и неактивным. Потому такие люди легко переезжают с место на место и заводят новые знакомства.

Флегматический

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

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

Холерический

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

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

Меланхолический

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

Такого человека пугает что-то новое. Меланхолики редко делятся своими переживаниями и держат все в себе.

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

Тест Люшера

Психологические тесты по цветам широко используются специалистами в работе не только с детьми. Они не менее информативны для оценки взрослых личностей. Данный тест в психологии - это способ понять свое нынешнее душевное состояние. Опросник Люшера основывается на 8 цветах. Интерпретаций данного исследования существует немало, как и вариаций самого интересного теста по психологии. Но мы остановимся на кратком, но не менее точном варианте:

  1. Приготовьте лист и ручку.
  2. Взгляните на картинку (см. выше). Перед вами - 8 цветов. Вам необходимо выбрать наиболее предпочтительный и приятный для вас цвет на данный момент. Обратите внимание, что не нужно соотносить выбираемый вами цвет с любимым цветом в одежде, окружении, с тенденциями моды и пр. Ваш выбор должен быть максимально беспристрастным и не зависящим от ваших личных предпочтений. Вы делаете выбор только исходя из текущих желаний.
  3. Далее вам нужно продолжить выбор по тому же принципу: вы выбираете наиболее приятный для себя цвет из оставшихся. Порядок выбора цветов записываете на бумагу.

На этом первый этап завершен. Но на этом мы не останавливаемся и переходим ко второму этапу:

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

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

Давайте определимся, что обозначает каждая позиция:

  1. Первое выбранное вами значение определяет те средства, которыми вы достигаете поставленную для себя цель. Неважно, имеете ли вы какие-то конкретные намерения в данный момент, ведь мы изучаем то, что заложено в вашем подсознании сейчас.
  2. Вторая позиция характеризует саму цель, которой мы добиваемся.
  3. Далее мы рассматриваем пары позиций. Номера 3 и 4 характеризуют ваше ощущение от сложившейся ситуации.
  4. 5-я и 6-я позиции - отображение вашего нейтрального отношения к этим цветам. В определенных ситуациях эти позиции могут нести немалое значение, поскольку они отображают действие или потребность, которую вы сознательно откладываете на задний план до лучших времен;
  5. 7-й и 8-й номера - то, к чему испытываете резкую антипатию.

Поняв, что означает каждый номер, можно перейти к конкретным определениям.

Значение цветов

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

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

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

Сине-зеленый. Цвет отображает уверенность и упрямство. Позиция этого цвета говорит о том, что вы в той или иной степени нуждаетесь в уверенности в себе и в вашем окружении. Если данный цвет расположен во втором тесте на последних позициях, это говорит о слабости личности и необходимости поддержки человека.

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

Светло-желтый - это цвет веселья и общительности. В дуэте с синим дает максимально удачное сочетание.

Психологические тесты по цветам помогут создать вам точную картину вашего текущего душевного состояния.

Оптимист, пессимист, реалист

Рассмотрим последний, но не менее интересный тест по общей психологии. Он позволит наконец-то определить, кто вы - жизнерадостный оптимист, опечаленный пессимист или же мудрый реалист. Необходимо отвечать на вопросы только «да» или «нет»:

  1. Вас привлекает возможность путешествовать?
  2. Вы любите изучать что-то новое?
  3. Есть ли у вас проблемы со сном?
  4. Вы гостеприимный человек?
  5. Имеете склонность предугадывать проблемы в будущем?
  6. Ваши друзья добились в жизни больше, чем вы?
  7. Любите заниматься спортом?
  8. Судьба часто преподносит вам неожиданности?
  9. Вы беспокоитесь за текущее состояние экологии?
  10. Научный прогресс доставил планете слишком много проблем?
  11. Ваша профессия выбрана удачно?
  12. Часто ли вы пользуетесь страхованием?
  13. Вы мобильный человек? Легко ли вам переехать на другое место, если предложат дело по душе?
  14. Вы считаете себя симпатичным?
  15. Вас беспокоит состояние вашего организма?
  16. Вас не смущает нахождение в незнакомом коллективе?
  17. Любите быть в центре событий?
  18. Существует ли дружба без взаимной выгоды?
  19. У вас есть свои личные приметы?
  20. Каждый строит свою судьбу сам?

Ответив на 20 достаточно простых вопросов, перейдем к ключу.


За каждое соответствие ключу ставим себе 1 балл.

Ответы «да»: 1, 2, 4, 7, 11, 13-20.

Ответы «нет»: 3, 5, 6, 8, 9, 10, 12.

0-5 баллов. Вы определенно пессимист. Причем свои невзгоды и проблемы вы явно преувеличиваете, ведь жизнь полна черных полос, но не лишена белых, однако вы видите все в черном цвете. Взгляните на жизнь по-другому - мир не так мрачен, как вам кажется.

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

11-15 баллов. Ваш взгляд на жизнь очевиден и реален. Вы не преувеличиваете печалей, но и не пьянеете от радости побед. Вашему жизненному настрою можно позавидовать, ведь вы реалист и смотрите на жизнь уверенно. Продолжайте в том же духе и не отступайте!

16-18 баллов. Вы оптимист, в любой проблеме вы видите свои плюсы и стараетесь любую ситуацию обратить в свою пользу. Невзгоды не обходят вас стороной, но вы знаете, как правильно к ним относиться, ваша жизнь сияет красками.

19-20. Такого оптимиста, как вы, нужно поискать. Вы не видите проблем, весь мир для вас - сплошная радуга. Но может быть, стоит посмотреть на жизнь без розовых очков? Ведь иногда несерьезность приводит к печальным последствиям.

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

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

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

Тестирование программного обеспечения является неотъемлемой частью цикла разработки программного обеспечения.

Что такое тестирование программного обеспечения?

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

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

Методика тестирования

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

3) Системное тестирование

4) Приемочные испытания

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


Отдельные модули, которые уже были подвергнуты модульному тестированию, интегрируются друг с другом, и проверяются на наличие неисправностей. Такой тип тестирования в первую очередь выявляет ошибки интерфейса. Интеграционное тестирование можно осуществлять с помощью подхода "сверху вниз", следуя архитектурному сооружению системы. Другим подходом является подход «снизу вверх», который осуществляется из нижней части потока управления.

Системное тестирование

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

Приемочные испытания

Это последний тест, который проводится перед передачей программного обеспечения клиенту. Он проводится, чтобы гарантировать, что программное обеспечение, которое было разработано отвечает всем требованиям заказчика. Существует два типа приемо-сдаточных испытаний - то, которое осуществляется членами команды разработчиков, известно, как внутреннее приемочное тестирования (Альфа-тестирование), а другое, которое проводится заказчиком, известно, как внешнее приемочное тестирования.

Если тестирование проводится с помощью предполагаемых клиентов, оно называется приемочными испытаниями клиента. В случае если тестирование проводится конечным пользователем программного обеспечения, оно известно, как приемочное тестирование (бета-тестирование).

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

Тестирование методом черного ящика

Тестирование методом черного ящика осуществляется без каких-либо знаний внутренней работы системы. Тестер будет стимулировать программное обеспечение для пользовательской среды, предоставляя различные входы и тестируя сгенерированные выходы. Этот тест также известен как Black-box, closed-box тестирование или функциональное тестирование.

Тестирование методом белого ящика

Тестирование методом "Белого ящика", в отличие от "черного ящика", учитывает внутреннее функционирование и логику работы кода. Для выполнения этого теста, тестер должен иметь знания кода, чтобы узнать точную часть кода, имеющую ошибки. Этот тест также известен как White-box, Open-Box или Glass box тестирование.

Тестирование методом серого ящика

Тестирование методом серого ящика или Gray box тестирование, это что-то среднее между White Box и Black Box тестированием, где тестер обладает лишь общими знаниями данного продукта, необходимыми для выполнения теста. Эта проверка осуществляется посредством документации и схемы информационных потоков. Тестирование проводится конечным пользователем, или пользователям, которые представляются как конечные.

Нефункциональные тесты

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

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


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


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

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

Тесты в процессе разработки программного обеспечения

Каскадная модель использует подход "сверху-вниз", независимо от того, используется ли она для разработки программного обеспечения или для тестирования.

Основными шагами, участвующими в данной методике тестирования программного обеспечения, являются:

  • Анализ потребностей
  • Тест дизайна
  • Тест реализации
  • Тестирование, отладка и проверка кода или продукта
  • Внедрение и обслуживание

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

Agile Model

Эта методика основана на избирательном сочетании последовательного и итеративного подхода, в дополнение к довольно большому разнообразию новых методов развития. Быстрое и поступательное развитие является одним из ключевых принципов этой методологии. Акцент делается на получение быстрых, практичных, и видимых выходов. Непрерывное взаимодействие с клиентами и участие является неотъемлемой частью всего процесса разработки.

Rapid Application Development (RAD). Методология быстрой разработки приложений

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

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

Спиральная модель

Как видно из названия, спиральная модель основана на подходе, в котором есть целый ряд циклов (или спиралей) из всех последовательных шагов в каскадной модели. После того, как начальный цикл будет завершена, выполняется тщательный анализ и обзор достигнутого продукта или выхода. Если выход не соответствует указанным требованиям или ожидаемым стандартам, производится второй цикл, и так далее.

Rational Unified Process (RUP). Рациональный унифицированный процесс

Методика RUP также похожа на спиральную модель, в том смысле, что вся процедура тестирования разбивается на несколько циклов. Каждый цикл состоит из четырех этапов - создание, разработка, строительство, и переход. В конце каждого цикла продукт/выход пересматривается, и далее цикл (состоящий из тех же четырех фаз) следует при необходимости.

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

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

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

Психологический тест - стандартизированное задание, по результатам выполнения которого судят о психофизиологических и личностных характеристиках, знаниях, умениях и навыках испытуемого.

На создание эффективного психологического теста уходит от 10 лет работы авторских коллективов. Качество теста обеспечивается многоступенчатой процедурой проверки и стандартизации его шкал.

С появлением первых тестов наиболее употребляемым термином, с помощью которого обозначается измерение индивидуально-психологических особенностей, стал термин «психологическое тестирование». Первоначально термин «психологическое тестирование» использовался широко, включая в себя любое измерение в психологической науке. По мере развития тестов, сфера психологического тестирования сузилась до измерения личностных и когнитивных особенностей.

Характеристики психологических тестов:

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

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

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

Виды тестов:

Психологический тест - стандартизированное испытание, по результатам выполнения которого судят о психофизиологических и личностных свойствах (чертах, способностях, состояниях) испытуемого. Тесты, по которым судят о знаниях, умениях и навыках испытуемого, занимают промежуточное положение между психологическими, образовательными и проф. тестами.

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

Стандартизованный тест - психологический тест с четко определенными неизменным списком вопросов, инструкцией, методами обработки результатов и подсчета баллов.

Тесты личности - тесты психологического тестирования, направленные на изучение характера, способностей, эмоций, потребностей и других свойств человеческой личности. Личностные тесты подразделяются на: проективные тесты, личностные опросники и тесты деятельности (ситуационные тесты).

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

Тест имитации - психологический тест, состоящий в том, что человеку предлагается выполнить задание, хотя ситуация, в которой предстоит выполнить задание, не воссоздается. Тест имитации используется в процессе отбора претендентов на работу.

Тест на профессиональную пригодность - психологический тест, направленный на выявление индивидуальных интересов и предпочтений. Такие тесты помогают определить работу наиболее предпочтительную для конкретного человека.

Тест интеллекта - тесты психологического тестирования, направленные на изучение степени развития интеллекта у человека. Задания тестов интеллекта: адресуются к словесно-логическому мышлению или направлены и на оценку развития наглядно-образного и наглядно-действенного мышления; позволяют характеризовать память, внимание, пространственную ориентировку, вербальное развитие и др.

Методы психологии - основные пути и приемы научного показания психических явлений и их закономерностей.

В психологии принято выделять четыре группы методов изучения психики.

Одним из видов эмпирических методов является тестирование.

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

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

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

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

Валидность теста заключается в том, что он должен оценивать именно то качество, для которого предназначен.

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

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

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

Подходы к изучению эмоций

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

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

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

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

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

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

Хорошее представление об эмоциональном состоянии человека можно получить, исследуя его письма. В произведении Т. Драйзера «Американская трагедия» описана ситуация, когда письма Роберты к Клайду, в которых отражено эмоциональное состояние Роберты незадолго до ее смерти произвели настолько сильное впечатление на присяжных и публику, что Клайда приговорили к казни.

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

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

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

ЗАКЛЮЧЕНИЕ

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

В эмоциях объективно переживаются, становятся внутренним событием отношения человека к миру и к самому себе, поэтому эмоции и чувства так или иначе присутствуют во всей психологии личности.

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

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

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

Также на основании анализа литературных источников можно сделать следующие выводы:

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

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

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

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

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


Похожая информация.


  • Tutorial

Доброго времени суток!

Хочу собрать всю самую необходимую теорию по тестирвоанию, которую спрашивают на собеседованиях у trainee, junior и немножко middle. Собственно, я собрал уже не мало. Цель сего поста в том, чтобы сообща добавить упущенное и исправить/перефразировать/добавить/сделатьЧтоТоЕщё с тем, что уже есть, чтобы стало хорошо и можно было взять всё это и повторить перед очередным собеседованием про всяк случай. Вообщем, коллеги, прошу под кат, кому почерпнуть что-то новое, кому систематизировать старое, а кому внести свою лепту.

В итоге должна получиться исчерпывающая шпаргалка, которую нужно перечитать по дороге на собеседование.

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

В теме: определение тестирования, качество, верификация / валидация, цели, этапы, тест план, пункты тест плана, тест дизайн, техники тест дизайна, traceability matrix, tets case, чек-лист, дефект, error/deffect/failure, баг репорт, severity vs priority, уровни тестирования, виды / типы, подходы к интеграционному тестированию, принципы тестирования, статическое и динамическое тестирование, исследовательское / ad-hoc тестирование, требования, жизненный цикл бага, стадии разработки ПО, decision table, qa/qc/test engineer, диаграмма связей.

Поехали!

Тестирование программного обеспечения - проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом. В более широком смысле, тестирование - это одна из техник контроля качества, включающая в себя активности по планированию работ (Test Management), проектированию тестов (Test Design), выполнению тестирования (Test Execution) и анализу полученных результатов (Test Analysis).

Качество программного обеспечения (Software Quality) - это совокупность характеристик программного обеспечения, относящихся к его способности удовлетворять установленные и предполагаемые потребности.

Верификация (verification) - это процесс оценки системы или её компонентов с целью определения удовлетворяют ли результаты текущего этапа разработки условиям, сформированным в начале этого этапа. Т.е. выполняются ли наши цели, сроки, задачи по разработке проекта, определенные в начале текущей фазы.
Валидация (validation) - это определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, требованиям к системе .
Также можно встретить иную интерпритацию:
Процесс оценки соответствия продукта явным требованиям (спецификациям) и есть верификация (verification), в то же время оценка соответствия продукта ожиданиям и требованиям пользователей - есть валидация (validation). Также часто можно встретить следующее определение этих понятий:
Validation - ’is this the right specification?’.
Verification - ’is the system correct to specification?’.

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

Этапы тестирования:
1. Анализ
2. Разработка стратегии тестирования
и планирование процедур контроля качества
3. Работа с требованиями
4. Создание тестовой документации
5. Тестирование прототипа
6. Основное тестирование
7. Стабилизация
8. Эксплуатация

Тест план (Test Plan) - это документ, описывающий весь объем работ по тестированию, начиная с описания объекта, стратегии, расписания, критериев начала и окончания тестирования, до необходимого в процессе работы оборудования, специальных знаний, а также оценки рисков с вариантами их разрешения.
Отвечает на вопросы:
Что надо тестировать?
Что будете тестировать?
Как будете тестировать?
Когда будете тестировать?
Критерии начала тестирования.
Критерии окончания тестирования.

Основные пункты тест плана
В стандарте IEEE 829 перечислены пункты, из которых должен (пусть - может) состоять тест-план:
a) Test plan identifier;
b) Introduction;
c) Test items;
d) Features to be tested;
e) Features not to be tested;
f) Approach;
g) Item pass/fail criteria;
h) Suspension criteria and resumption requirements;
i) Test deliverables;
j) Testing tasks;
k) Environmental needs;
l) Responsibilities;
m) StafÞng and training needs;
n) Schedule;
o) Risks and contingencies;
p) Approvals.

Тест дизайн - это этап процесса тестирования ПО, на котором проектируются и создаются тестовые случаи (тест кейсы), в соответствии с определёнными ранее критериями качества и целями тестирования.
Роли, ответственные за тест дизайн:
Тест аналитик - определяет «ЧТО тестировать?»
Тест дизайнер - определяет «КАК тестировать?»

Техники тест дизайна

Эквивалентное Разделение (Equivalence Partitioning - EP) . Как пример, у вас есть диапазон допустимых значений от 1 до 10, вы должны выбрать одно верное значение внутри интервала, скажем, 5, и одно неверное значение вне интервала - 0.

Анализ Граничных Значений (Boundary Value Analysis - BVA) . Если взять пример выше, в качестве значений для позитивного тестирования выберем минимальную и максимальную границы (1 и 10), и значения больше и меньше границ (0 и 11). Анализ Граничный значений может быть применен к полям, записям, файлам, или к любого рода сущностям имеющим ограничения.

Причина / Следствие (Cause/Effect - CE) . Это, как правило, ввод комбинаций условий (причин), для получения ответа от системы (Следствие). Например, вы проверяете возможность добавлять клиента, используя определенную экранную форму. Для этого вам необходимо будет ввести несколько полей, таких как «Имя», «Адрес», «Номер Телефона» а затем, нажать кнопку «Добавить» - эта «Причина». После нажатия кнопки «Добавить», система добавляет клиента в базу данных и показывает его номер на экране - это «Следствие».

Исчерпывающее тестирование (Exhaustive Testing - ET) - это крайний случай. В пределах этой техники вы должны проверить все возможные комбинации входных значений, и в принципе, это должно найти все проблемы. На практике применение этого метода не представляется возможным, из-за огромного количества входных значений.

Traceability matrix - Матрица соответствия требований - это двумерная таблица, содержащая соответсвие функциональных требований (functional requirements) продукта и подготовленных тестовых сценариев (test cases). В заголовках колонок таблицы расположены требования, а в заголовках строк - тестовые сценарии. На пересечении - отметка, означающая, что требование текущей колонки покрыто тестовым сценарием текущей строки.
Матрица соответсвия требований используется QA-инженерами для валидации покрытия продукта тестами. МСТ является неотъемлемой частью тест-плана.

Тестовый случай (Test Case) - это артефакт, описывающий совокупность шагов, конкретных условий и параметров, необходимых для проверки реализации тестируемой функции или её части.
Пример:
Action Expected Result Test Result
(passed/failed/blocked)
Open page «login» Login page is opened Passed

Каждый тест кейс должен иметь 3 части:
PreConditions Список действий, которые приводят систему к состоянию пригодному для проведения основной проверки. Либо список условий, выполнение которых говорит о том, что система находится в пригодном для проведения основного теста состояния.
Test Case Description Список действий, переводящих систему из одного состояния в другое, для получения результата, на основании которого можно сделать вывод о удовлетворении реализации, поставленным требованиям
PostConditions Список действий, переводящих систему в первоначальное состояние (состояние до проведения теста - initial state)
Виды Тестовых Случаев:
Тест кейсы разделяются по ожидаемому результату на позитивные и негативные:
Позитивный тест кейс использует только корректные данные и проверяет, что приложение правильно выполнило вызываемую функцию.
Негативный тест кейс оперирует как корректными так и некорректными данными (минимум 1 некорректный параметр) и ставит целью проверку исключительных ситуаций (срабатывание валидаторов), а также проверяет, что вызываемая приложением функция не выполняется при срабатывании валидатора.

Чек-лист (check list) - это документ, описывающий что должно быть протестировано. При этом чек-лист может быть абсолютно разного уровня детализации. На сколько детальным будет чек-лист зависит от требований к отчетности, уровня знания продукта сотрудниками и сложности продукта.
Как правило, чек-лист содержит только действия (шаги), без ожидаемого результата. Чек-лист менее формализован чем тестовый сценарий. Его уместно использовать тогда, когда тестовые сценарии будут избыточны. Также чек-лист ассоциируются с гибкими подходами в тестировании.

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

Error - ошибка пользователя, то есть он пытается использовать программу иным способом.
Пример - вводит буквы в поля, где требуется вводить цифры (возраст, количество товара и т.п.).
В качественной программе предусмотрены такие ситуации и выдаются сообщение об ошибке (error message), с красным крестиком которые.
Bug (defect) - ошибка программиста (или дизайнера или ещё кого, кто принимает участие в разработке), то есть когда в программе, что-то идёт не так как планировалось и программа выходит из-под контроля. Например, когда никак не контроллируется ввод пользователя, в результате неверные данные вызывают краши или иные «радости» в работе программы. Либо внутри программа построена так, что изначально не соответствует тому, что от неё ожидается.
Failure - сбой (причём не обязательно аппаратный) в работе компонента, всей программы или системы. То есть, существуют такие дефекты, которые приводят к сбоям (A defect caused the failure) и существуют такие, которые не приводят. UI-дефекты например. Но аппаратный сбой, никак не связанный с software, тоже является failure.

Баг Репорт (Bug Report) - это документ, описывающий ситуацию или последовательность действий приведшую к некорректной работе объекта тестирования, с указанием причин и ожидаемого результата.
Шапка
Короткое описание (Summary) Короткое описание проблемы, явно указывающее на причину и тип ошибочной ситуации.
Проект (Project) Название тестируемого проекта
Компонент приложения (Component) Название части или функции тестируемого продукта
Номер версии (Version) Версия на которой была найдена ошибка
Серьезность (Severity) Наиболее распространена пятиуровневая система градации серьезности дефекта:
S1 Блокирующий (Blocker)
S2 Критический (Critical)
S3 Значительный (Major)
S4 Незначительный (Minor)
S5 Тривиальный (Trivial)
Приоритет (Priority) Приоритет дефекта:
P1 Высокий (High)
P2 Средний (Medium)
P3 Низкий (Low)
Статус (Status) Статус бага. Зависит от используемой процедуры и жизненного цикла бага (bug workflow and life cycle)

Автор (Author) Создатель баг репорта
Назначен на (Assigned To) Имя сотрудника, назначенного на решение проблемы
Окружение
ОС / Сервис Пак и т.д. / Браузера + версия /… Информация об окружении, на котором был найден баг: операционная система, сервис пак, для WEB тестирования - имя и версия браузера и т.д.

Описание
Шаги воспроизведения (Steps to Reproduce) Шаги, по которым можно легко воспроизвести ситуацию, приведшую к ошибке.
Фактический Результат (Result) Результат, полученный после прохождения шагов к воспроизведению
Ожидаемый результат (Expected Result) Ожидаемый правильный результат
Дополнения
Прикрепленный файл (Attachment) Файл с логами, скриншот или любой другой документ, который может помочь прояснить причину ошибки или указать на способ решения проблемы.

Severity vs Priority
Серьезность (Severity) - это атрибут, характеризующий влияние дефекта на работоспособность приложения.
Приоритет (Priority) - это атрибут, указывающий на очередность выполнения задачи или устранения дефекта. Можно сказать, что это инструмент менеджера по планированию работ. Чем выше приоритет, тем быстрее нужно исправить дефект.
Severity выставляется тестировщиком
Priority - менеджером, тимлидом или заказчиком

Градация Серьезности дефекта (Severity)

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

S2 Критическая (Critical)
Критическая ошибка, неправильно работающая ключевая бизнес логика, дыра в системе безопасности, проблема, приведшая к временному падению сервера или приводящая в нерабочее состояние некоторую часть системы, без возможности решения проблемы, используя другие входные точки. Решение проблемы необходимо для дальнейшей работы с ключевыми функциями тестируемой системой.

S3 Значительная (Major)
Значительная ошибка, часть основной бизнес логики работает некорректно. Ошибка не критична или есть возможность для работы с тестируемой функцией, используя другие входные точки.

S4 Незначительная (Minor)
Незначительная ошибка, не нарушающая бизнес логику тестируемой части приложения, очевидная проблема пользовательского интерфейса.

S5 Тривиальная (Trivial)
Тривиальная ошибка, не касающаяся бизнес логики приложения, плохо воспроизводимая проблема, малозаметная посредствам пользовательского интерфейса, проблема сторонних библиотек или сервисов, проблема, не оказывающая никакого влияния на общее качество продукта.

Градация Приоритета дефекта (Priority)
P1 Высокий (High)
Ошибка должна быть исправлена как можно быстрее, т.к. ее наличие является критической для проекта.
P2 Средний (Medium)
Ошибка должна быть исправлена, ее наличие не является критичной, но требует обязательного решения.
P3 Низкий (Low)
Ошибка должна быть исправлена, ее наличие не является критичной, и не требует срочного решения.

Уровни Тестирования

1. Модульное тестирование (Unit Testing)
Компонентное (модульное) тестирование проверяет функциональность и ищет дефекты в частях приложения, которые доступны и могут быть протестированы по-отдельности (модули программ, объекты, классы, функции и т.д.).

2. Интеграционное тестирование (Integration Testing)
Проверяется взаимодействие между компонентами системы после проведения компонентного тестирования.

3. Системное тестирование (System Testing)
Основной задачей системного тестирования является проверка как функциональных, так и не функциональных требований в системе в целом. При этом выявляются дефекты, такие как неверное использование ресурсов системы, непредусмотренные комбинации данных пользовательского уровня, несовместимость с окружением, непредусмотренные сценарии использования, отсутствующая или неверная функциональность, неудобство использования и т.д.

4. Операционное тестирование (Release Testing).
Даже если система удовлетворяет всем требованиям, важно убедиться в том, что она удовлетворяет нуждам пользователя и выполняет свою роль в среде своей эксплуатации, как это было определено в бизнес моделе системы. Следует учесть, что и бизнес модель может содержать ошибки. Поэтому так важно провести операционное тестирование как финальный шаг валидации. Кроме этого, тестирование в среде эксплуатации позволяет выявить и нефункциональные проблемы, такие как: конфликт с другими системами, смежными в области бизнеса или в программных и электронных окружениях; недостаточная производительность системы в среде эксплуатации и др. Очевидно, что нахождение подобных вещей на стадии внедрения - критичная и дорогостоящая проблема. Поэтому так важно проведение не только верификации, но и валидации, с самых ранних этапов разработки ПО.

5. Приемочное тестирование (Acceptance Testing)
Формальный процесс тестирования, который проверяет соответствие системы требованиям и проводится с целью:
определения удовлетворяет ли система приемочным критериям;
вынесения решения заказчиком или другим уполномоченным лицом принимается приложение или нет.

Виды / типы тестирования

Функциональные виды тестирования
Функциональное тестирование (Functional testing)
Тестирование безопасности (Security and Access Control Testing)
Тестирование взаимодействия (Interoperability Testing)

Нефункциональные виды тестирования
Все виды тестирования производительности:
o нагрузочное тестирование (Performance and Load Testing)
o стрессовое тестирование (Stress Testing)
o тестирование стабильности или надежности (Stability / Reliability Testing)
o объемное тестирование (Volume Testing)
Тестирование установки (Installation testing)
Тестирование удобства пользования (Usability Testing)
Тестирование на отказ и восстановление (Failover and Recovery Testing)
Конфигурационное тестирование (Configuration Testing)

Связанные с изменениями виды тестирования
Дымовое тестирование (Smoke Testing)
Регрессионное тестирование (Regression Testing)
Повторное тестирование (Re-testing)
Тестирование сборки (Build Verification Test)
Санитарное тестирование или проверка согласованности/исправности (Sanity Testing)

Функциональное тестирование рассматривает заранее указанное поведение и основывается на анализе спецификаций функциональности компонента или системы в целом.

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

Тестирование взаимодействия (Interoperability Testing) - это функциональное тестирование, проверяющее способность приложения взаимодействовать с одним и более компонентами или системами и включающее в себя тестирование совместимости (compatibility testing) и интеграционное тестирование

Нагрузочное тестирование - это автоматизированное тестирование, имитирующее работу определенного количества бизнес пользователей на каком-либо общем (разделяемом ими) ресурсе.

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

Объемное тестирование (Volume Testing) . Задачей объемного тестирования является получение оценки производительности при увеличении объемов данных в базе данных приложения

Тестирование стабильности или надежности (Stability / Reliability Testing) . Задачей тестирования стабильности (надежности) является проверка работоспособности приложения при длительном (многочасовом) тестировании со средним уровнем нагрузки.

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

Тестирование удобства пользования - это метод тестирования, направленный на установление степени удобства использования, обучаемости, понятности и привлекательности для пользователей разрабатываемого продукта в контексте заданных условий. Сюда также входит:
Тестирование пользовательского интерфейса (англ. UI Testing) - это вид тестирования исследования, выполняемого с целью определения, удобен ли некоторый искусственный объект (такой как веб-страница, пользовательский интерфейс или устройство) для его предполагаемого применения.
User eXperience (UX) - ощущение, испытываемое пользователем во время использования цифрового продукта, в то время как User interface - это инструмент, позволяющий осуществлять интеракцию «пользователь - веб-ресурс».

Тестирование на отказ и восстановление (Failover and Recovery Testing) проверяет тестируемый продукт с точки зрения способности противостоять и успешно восстанавливаться после возможных сбоев, возникших в связи с ошибками программного обеспечения, отказами оборудования или проблемами связи (например, отказ сети). Целью данного вида тестирования является проверка систем восстановления (или дублирующих основной функционал систем), которые, в случае возникновения сбоев, обеспечат сохранность и целостность данных тестируемого продукта.

Конфигурационное тестирование (Configuration Testing) - специальный вид тестирования, направленный на проверку работы программного обеспечения при различных конфигурациях системы (заявленных платформах, поддерживаемых драйверах, при различных конфигурациях компьютеров и т.д.)

Дымовое (Smoke) тестирование рассматривается как короткий цикл тестов, выполняемый для подтверждения того, что после сборки кода (нового или исправленного) устанавливаемое приложение, стартует и выполняет основные функции.

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

Повторное тестирование - тестирование, во время которого исполняются тестовые сценарии, выявившие ошибки во время последнего запуска, для подтверждения успешности исправления этих ошибок.
В чем разница между regression testing и re-testing?
Re-testing - проверяется исправление багов
Regression testing - проверяется то, что исправление багов не повлияло на другие модули ПО и не вызвало новых багов.

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

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

Предугадывание ошибки (Error Guessing - EG) . Это когда тест аналитик использует свои знания системы и способность к интерпретации спецификации на предмет того, чтобы «предугадать» при каких входных условиях система может выдать ошибку. Например, спецификация говорит: «пользователь должен ввести код». Тест аналитик, будет думать: «Что, если я не введу код?», «Что, если я введу неправильный код? », и так далее. Это и есть предугадывание ошибки.

Подходы к интеграционному тестированию:

Снизу вверх (Bottom Up Integration)
Все низкоуровневые модули, процедуры или функции собираются воедино и затем тестируются. После чего собирается следующий уровень модулей для проведения интеграционного тестирования. Данный подход считается полезным, если все или практически все модули, разрабатываемого уровня, готовы. Также данный подход помогает определить по результатам тестирования уровень готовности приложения.

Сверху вниз (Top Down Integration)
Вначале тестируются все высокоуровневые модули, и постепенно один за другим добавляются низкоуровневые. Все модули более низкого уровня симулируются заглушками с аналогичной функциональностью, затем по мере готовности они заменяются реальными активными компонентами. Таким образом мы проводим тестирование сверху вниз.

Большой взрыв («Big Bang» Integration)
Все или практически все разработанные модули собираются вместе в виде законченной системы или ее основной части, и затем проводится интеграционное тестирование. Такой подход очень хорош для сохранения времени. Однако если тест кейсы и их результаты записаны не верно, то сам процесс интеграции сильно осложнится, что станет преградой для команды тестирования при достижении основной цели интеграционного тестирования.

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

Принцип 1 - Тестирование демонстрирует наличие дефектов (Testing shows presence of defects)
Тестирование может показать, что дефекты присутствуют, но не может доказать, что их нет. Тестирование снижает вероятность наличия дефектов, находящихся в программном обеспечении, но, даже если дефекты не были обнаружены, это не доказывает его корректности.

Принцип 2 - Исчерпывающее тестирование недостижимо (Exhaustive testing is impossible)
Полное тестирование с использованием всех комбинаций вводов и предусловий физически невыполнимо, за исключением тривиальных случаев. Вместо исчерпывающего тестирования должны использоваться анализ рисков и расстановка приоритетов, чтобы более точно сфокусировать усилия по тестированию.

Принцип 3 - Раннее тестирование (Early testing)
Чтобы найти дефекты как можно раньше, активности по тестированию должны быть начаты как можно раньше в жизненном цикле разработки программного обеспечения или системы, и должны быть сфокусированы на определенных целях.

Принцип 4 - Скопление дефектов (Defects clustering)
Усилия тестирования должны быть сосредоточены пропорционально ожидаемой, а позже реальной плотности дефектов по модулям. Как правило, большая часть дефектов, обнаруженных при тестировании или повлекших за собой основное количество сбоев системы, содержится в небольшом количестве модулей.

Принцип 5 - Парадокс пестицида (Pesticide paradox)
Если одни и те же тесты будут прогоняться много раз, в конечном счете этот набор тестовых сценариев больше не будет находить новых дефектов. Чтобы преодолеть этот «парадокс пестицида», тестовые сценарии должны регулярно рецензироваться и корректироваться, новые тесты должны быть разносторонними, чтобы охватить все компоненты программного обеспечения, или системы, и найти как можно больше дефектов.

Принцип 6 - Тестирование зависит от контекста (Testing is concept depending)
Тестирование выполняется по-разному в зависимости от контекста. Например, программное обеспечение, в котором критически важна безопасность, тестируется иначе, чем сайт электронной коммерции.

Принцип 7 - Заблуждение об отсутствии ошибок (Absence-of-errors fallacy)
Обнаружение и исправление дефектов не помогут, если созданная система не подходит пользователю и не удовлетворяет его ожиданиям и потребностям.

Cтатическое и динамическое тестирование
Статическое тестирование отличается от динамического тем, что производится без запуска программного кода продукта. Тестирование осуществляется путем анализа программного кода (code review) или скомпилированного кода. Анализ может производиться как вручную, так и с помощью специальных инструментальных средств. Целью анализа является раннее выявление ошибок и потенциальных проблем в продукте. Также к статическому тестирвоанию относится тестирования спецификации и прочей документации.

Исследовательское / ad-hoc тестирование
Простейшее определение исследовательского тестирования - это разработка и выполнения тестов в одно и то же время. Что является противоположностью сценарного подхода (с его предопределенными процедурами тестирования, неважно ручными или автоматизированными). Исследовательские тесты, в отличие от сценарных тестов, не определены заранее и не выполняются в точном соответствии с планом.

Разница между ad hoc и exploratory testing в том, что теоретически, ad hoc может провести кто угодно, а для проведения exploratory необходимо мастерство и владение определенными техниками. Обратите внимание, что определенные техники это не только техники тестирования.

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

Требования к требованиям:
Корректность
Недвусмысленность
Полнота набора требований
Непротиворечивость набора требований
Проверяемость (тестопригодность)
Трассируемость
Понимаемость

Жизненный цикл бага

Стадии разработки ПО - это этапы, которые проходят команды разработчиков ПО, прежде чем программа станет доступной для широко круга пользователей. Разработка ПО начинается с первоначального этапа разработки (стадия «пре-альфа») и продолжается стадиями, на которых продукт дорабатывается и модернизируется. Финальным этапом этого процесса становится выпуск на рынок окончательной версии программного обеспечения («общедоступного релиза»).

Программный продукт проходит следующие стадии:
анализ требований к проекту;
проектирование;
реализация;
тестирование продукта;
внедрение и поддержка.

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

Жизненный цикл разработки ПО:
Пре-альфа
Альфа
Бета
Релиз-кандидат
Релиз
Пост-релиз

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

QA/QC/Test Engineer


Таким образом, мы можем построить модель иерархии процессов обеспечения качества: Тестирование - часть QC. QC - часть QA.

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