Семь пороков тестирования. Тестирование

Итоговый тест за курс 7 класса

А. благодаря обилию снега,

Б. согласно расписания,

В. написал красивше,

Г. пришел со школы поздно .

А. безвозвратно,

Б. издавна,

В. подчеркивая,

Г. распустил. .

ь :

А. разжеч.. костер,

Б. бить наотмаш.. ,

В. много задач.. ,

Г. отреж..те кусочек .

о :

А. освещ..нный,

Б. свеж..,

В. ноч..вка,

Г. заворож..н .

-ющ-:

А. кле..щий поделку,

Б. жал..щие осы,

В. кол..щий дрова,

Г. дыш..щий легко .

-ем -:

А. слыш..мый звук,

Б. невид..мая цель,

В. уважа..мый человек,

Г. гон..мый ветром,

А. (по) моему совету,

Б. (по) осеннему хмурое небо,

В.

Г. бывал (кое) у кого .

н :

А. уставле..ая вазами,

Б. фарширова..ый гусь,

В. слушать сосредоточе..о ,

Г. жаре..ая рыба.

А.

Б

В. бежать (на) встречу,

Г. пришел, что(бы) остаться .

10. В каком словосочетании не пишется слитно:

А

Б

В. мусор (не) убран,

Г. (не) завершённая работа.

ни :

А.

Б.

В. Она не могла маме н. ответить.

Г.

А. Шли, несмотря

Б. Делать в течение

В. Располагается вдоль дороги (вдоль – предлог).

Г. Летучий газ (летучий – причастие).

А. Светилась, падая, ракета.

Б.

В.

Г.

А.

Б.

В.

Г.

А.

Б.

В.

Г.

Ответы. Итоговый тест за курс 7 класса

1. В каком случае нет ошибки в образовании и употреблении слов:

А. благодаря обилию снега,

Б. согласно расписания,

В. написал красивше,

Г. пришел со школы поздно .

2.Найдите слово, строение которого соответствует схеме: приставка + корень + суффикс + суффикс

А. безвозвратно,

Б. издавна,

В. подчеркивая,

Г. распустился

3. Найдите слово, в котором не пишется ь :

А. разжеч.. костер,

Б. бить наотмаш.. ,

В. много задач.. ,

Г. отреж..те кусочек .

4.Укажите слово, в котором под ударением пишется о :

А. освещ..нный,

Б. свеж..,

В. ноч..вка,

Г. заворож..н .

5. Найдите причастие, в котором пишется суффикс -ющ -:

А. кле..щий поделку,

Б. жал..щие осы,

В. кол..щий дрова,

Г. дыш..щий легко .

6. Найдите причастие, в котором пишется суффикс -ем -:

А. слыш..мый звук,

Б. невид..мая цель,

В. уважа..мый человек,

Г. гон..мый ветром,

7. Укажите слово, которое пишется через дефис:

А. (по) моему совету,

Б. (по) осеннему хмурое небо,

В. относиться (по) внимательнее,

Г. бывал (кое) у кого .

8. Найдите слово, в котором пишется одна буква н :

А. уставле..ая вазами,

Б. фарширова..ый гусь,

В. слушать сосредоточе..о ,

Г. жаре..ая рыба.

9. Укажите слово, которое пишется раздельно:

А. (в) следствие сильных дождей,

Б. мог рассказать (то) же самое,

В. бежать (на) встречу,

Г. пришел, что(бы) остаться .

10. В каком словосочетании не пишется слитно:

А. написано ничуть (не) аккуратно,

Б. (не) решенная вовремя задача,

В. мусор (не) убран,

Г. (не) завершённая работа.

11. В каком предложении надо писать ни :

А. Н.. раз выходил он победителем из боя.

Б. Кто н.. смотрел этот фильм, должен его посмотреть.

В. Она не могла маме н. ответить.

Г. Когда н.. придешь к подруге, она болтает по телефону

12. Укажите верное определение части речи:

А. Шли, несмотря на непогоду (несмотря – деепричастие).

Б. Делать в течение часа (течение – имя существительное).

В. Располагается вдоль дороги (вдоль – предлог).

Г. Летучий газ (летучий – причастие).

13. Укажите предложение, в котором допущена ошибка в постановке знаков препинания:

А. Светилась, падая, ракета.

Б. Я смотрел на пруд, залитый лунным светом и на старый дворец на острове.

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

Г. Поднимая пыль по дороге, подул сильный ветер.

14. Найдите предложение с правильной постановкой знаков препинания:

А. В небе первые звезды повисли в окнах тоже горят огоньки.

Б. А звезды нежданно в тумане блеснули и свет свой холодный над липами льют.

В. Грибы составляют питательную и вкусную пищу если они употребляются не в излишестве.

Г. Он улыбается приветливо и ласково, и простодушно.

15. Найдите сложное предложение, которое соответствует схеме , (подчинит. союз):

(Запятые в предложениях не проставлены)

А. Выражение не жалости а мучительной озабоченности появилось у него на лице.

Б. Всю ночь мы лежали у костра и слушали как шумит море.

В. Когда взойдет солнце закричат первые петухи.

Г. С самого утра в саду стоял цветочный аромат и пчелы-трудяги перелетали с цветка на цветок.

К УМК Г.В. Дорофеев, С.Б.Суворова, Е.А.Бунимович и др

Тест составлен в двух вариантах и соответствует тестам ГИА по математике.

Характеристика работы

Модуль «Алгебра»

Модуль «Геометрия»

Модуль «Реальная математика»

0 - 7 баллов «2»,

8 - 15 баллов «3»,

16 - 22 баллов «4»,

23 - 38 баллов «5»

Просмотр содержимого документа
«Итоговый тест по математике за курс 7 класса»

Информация об итоговом тесте за курс 7 класса по математике

Общее время – 90 минут.

Характеристика работы

Всего в работе 26 заданий, из которых 20 заданий базового уровня (часть 1), 4 задания повышенного уровня (часть 2) и 2 задания высокого уровня сложности (часть 2). Работа состоит из трёх модулей: «Алгебра», «Геометрия», «Реальная математика».

Модуль «Алгебра» содержит 13 заданий: в части 1 - десять заданий; в части 2 - три задания.

Модуль «Геометрия» содержит восемь заданий: в части 1 - пять заданий; в части 2 - три задания.

Модуль «Реальная математика» содержит пять заданий: все задания - в части 1.

Советы и указания по выполнению работы

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

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

Ответы к заданиям 1, 3, 5, 6, 10, 16, 17 записываются в виде одной цифры, которая соответствует номеру правильного ответа.

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

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

Как оценивается работа

Баллы, полученные Вами за верно выполненные задания, суммируются .

Для успешного написания итогового теста необходимо набрать в сумме не менее 8 баллов, из них: не менее 3 баллов по модулю «Алгебра», не менее 2 баллов по модулю «Геометрия» и не менее 2 баллов по модулю «Реальная математика». За каждое правильно выполненное задание части 1 выставляется 1 балл. В каждом модуле части 2 задания расположены по нарастанию сложности и оцениваются в 2, 3 и 4 балла.

0 – 7 баллов «2»,

8 – 15 баллов «3»,

16 – 22 баллов «4»,

23 – 38 баллов «5»

Желаю успеха!

Итоговый тест за курс 7 класса

Вариант I

Часть I

Модуль «Алгебра»

1. Расположите в порядке возрастания числа: , , 0,8

1) ; ; 0,8 2) ; ; 0,8 3) 0,8; ; 4) ; 0,8;

а = 2,4, в = -0,9, с = 0,7. Ответ: ________

1) (-10) 12 ∙ (-5) 10 0 2) (-7) 14 ∙ (-2) 23 15 ∙ (-8) 11 0 4) (-4) 19 ∙ (-3) 20 0

5. Решите уравнение 2х – 7 = 10 – 3(х + 2).

1) -0,6 2) 2,2 3) 4) 4,6

6. Прочитайте задачу: «От турбазы до автостанции турист доехал на велосипеде за 2 ч. Чтобы пройти это расстояние пешком, ему понадобилось бы 6 ч. Известно, что идет он со скоростью, на 4 км/ч меньшей, чем едет на велосипеде. С какой скоростью идет турист?»

Выберите уравнение, соответствующее условию задачи, если буквой х обозначена скорость (в км/ч) с которой идет турист.

1) 6х = 2(х – 4) 2) 2х = 6(х – 4) 3) 6х = 2(х + 4) 4) – = 4.

7. Вынесите за скобки общий множитель 3х 2 у – 12х 3 Ответ:________

А) (а 2) 3 а 2 Б) (а 2 а 3) 2 В) 1) а 12 2) а 10 3) а 8 4) а 7

Ответ:

9.Упрастите выражение в (в + 2с ) – (в + с ) 2 . Ответ:_______

х ≤ 3 2) у ≥ 3 3) у ≤ 3 4) х ≥ 3

Модуль «Геометрия»

11. В равнобедренном треугольнике угол при вершине, противолежащий основанию, равен 58 0 . Найдите угол при основании. Ответ дайте в градусах.

Ответ:____________

12. Точки В делит отрезок АС на два отрезка. Найдите длину отрезка ВС, если АВ = 3,7 см, АС = 7,2 см.

Ответ:___________

13.В равнобедренном треугольнике основание в два раза меньше боковой стороны, а периметр равен 50 см. Найдите стороны треугольника

14. В прямоугольном треугольнике АВС угол А равен 30 0 , а гипотенуза АВ = 16 см. Найдите катет ВС.

Ответ:________

1) Если угол равен 60 0 , то смежный с ним угол равен 120 0 .

2) Каждая сторона треугольника меньше разности двух других сторон.

3) Если две параллельные прямые пересечены третьей прямой, то сумма внутренних односторонних углов равна 90 0 .

4) Внешний угол треугольника равен сумме двух других углов не смежных с ним.

Ответ:______

Модуль «Реальная Математика»

16. При покупке соковыжималки стоимостью 4000 р. покупатель предъявил дисконтную карту, дающую право на 3,5% скидки. Сколько он заплатил за соковыжималку?

1) 3860 р. 2) 140 р. 3) 1400 р. 4) 3996,5 р.

17. Сколькими способами можно построить в ряд четырех спортсменов?

1) 8 2) 12 3) 16 4) 24


Ответ:_________

19. Средняя норма потребляемой воды в классе, в котором учится Игорь, среди мальчиков составляет 2,5 л. Игорь выпивает в день 2,3 л воды. Какое из следующих утверждений верно?

1) Обязательно найдется мальчик в классе, который выпивает 2,6 л в день.

2)Все мальчики, кроме Игоря, выпивают в день по 2,5 л воды.

3) Обязательно найдется мальчик в классе, который пьет больше, чем 2,5 л в день.

4) Обязательно найдется мальчик в классе, который выпивает ровно 2,5 л в день.

20. Высота h (в м), на которой через t v h = vt – . На какой высоте (в метрах) окажется за 4 с мяч, подброшенный ногой вверх, если его начальная скорость равна 33 м/с? Возьмите значение g = 10 м/с.

Часть II

Модуль «Алгебра»

21. Разложите на множители: 16х 2 – 24ху + 9у 2 – 4х + 3у

22. При каких значениях х выполняется равенство 2 х ∙ 2 3 = 64.

23. Из туристического лагеря к станции вышел пешеход со скоростью 4 км/ч. Через час вслед за ним выехал велосипедист со скоростью 10 км/ч. Он приехал на станцию на 0,5 ч раньше пешехода. Определите расстояние от туристического лагеря до станции?

Модуль «Геометрия»

24. Три точки K, L, M лежат на одной прямой, KL = 6 см, LM = 10 см. Каким может быть расстояние КМ? Для каждого из возможных случаев сделайте чертеж.

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

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

Итоговый тест за курс 7 класса

Вариант II

Часть I

Модуль «Алгебра»

1. Расположите в порядке возрастания числа: 0,4; , .

1) 0,4; , 2) ; ; 0,4 3) ; 0,4; 4) ; 0,4;

2. Найдите значение выражения при а = 8,4, в = -1,2, с = - 4,5. Ответ: ________

3. В каком случае знак неравенства поставлен неверно?

1) (-3) 15 ∙ (-8) 11 0 2) (-6) 16 ∙ (-9) 28 0 3) (-4) 19 ∙ (-3) 20 0 4) (-7) 14 ∙ (-2) 23

4. Найдите неизвестный член пропорции = . Ответ:________

5. Решите уравнение – = 1.

1) -0,5 2) - 4,5 3) 4) 4,5

6. Прочитайте задачу: «Мастер и ученик вместе изготовили 42 деревянные ложки. Мастер работал 6 ч, а ученик 4 ч, причем ученик изготавливал за час на 3 ложки меньше, чем мастер. Сколько ложек за час изготавливал мастер»

Какое уравнение соответствующее условию задачи, если буквой х обозначено число ложек, которые за час изготавливал мастер?

1) 6х + 4(х – 3) = 42 2) 6х + 4∙ = 42 3) 6(х – 3) + 4х = 42 4) + = 42.

7. Разложите на множители в 2 – 36а 2 Ответ:________

8. Для каждого выражения из верхней строки укажите равное ему выражение из нижней строки.

А) Б) (b 4 b 3) 2 В) b 4 (b 3) 2 1) b 14 2) b 12 3) b 10 4) b 9

Ответ:

9. Упростите выражение (а – 4) – 8а (а – 6). Ответ:_______

10. Каким условием можно задать множество точек координатной плоскости, изображенной на рисунке? 1) х ≥ 1 2) 1 ≤ х ≤ 4 3) 1 ≤ у ≤ 4 4) у ≤ 4

Модуль «Геометрия»

11. В равнобедренном треугольнике угол при основании равен 46 0 . Найдите угол при вершине. Ответ дайте в градусах.

Ответ:____________

12. Точки В делит отрезок АС на два отрезка. Найдите длину отрезка АС, если АВ = 7,8 см, ВС = 2,5 см.

Ответ:___________

13.На окружности с центром О отмечены точки А и В так, что хорда АВ равна радиусу окружности. Найдите углы треугольника АОВ.

Ответ:_________

14. В прямоугольном треугольнике АВС угол В равен 60 0 , а катет ВС = 12 см. Найдите гипотенузу АВ.

Ответ:________

15. Укажите номера верных утверждений

1) Если две прямые перпендикулярны третьей прямой, то эти прямые перпендикулярны.

2) Если две стороны и угол одного треугольника соответственно равны двум сторонам и углу другого треугольника, то такие треугольники равны.

3) Если две параллельные прямые пересечены третьей прямой, то сумма внутренних односторонних углов равна 180 0 .

4) В треугольнике против большей стороны лежит больший угол.

Ответ:______

Модуль «Реальная Математика»

16. Клиент банка открыл счет на 6000 р., годовой доход по которому составляет 5,5%. Какая сумма будет на счете через год?

1) 330 р. 2) 3300 р. 3) 6330 р. 4) 6005,5 р.

17. Сколько двузначных чисел можно составить, используя цифры 0, 1, 2, 3 ?

1) 8 2) 12 3) 16 4) 24

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

Ответ:_________

19. В среднем каждый ученик класса, в котором учится Сережа, тратит на дорогу до школы 36 минут. Сережа тратит на дорогу 10 минут. Какое из следующих утверждений верно?

1) Обязательно найдется ученик класса, который тратит на дорогу более 40 минут.

2) Обязательно найдется ученик класса, который тратит на дорогу ровно 36 минут.

3) В классе каждый ученик, кроме, Сережи, который тратит на дорогу более 36 минут.

4) Обязательно найдется ученик класса, который тратит на дорогу более 36 минут.

20. Высота h (в м), на которой через t с окажется тело, брошенное вертикально вверх с начальной скоростью v м/с, можно вычислить по формуле h = vt – . На какой высоте (в метрах) окажется за 2 с мяч, подброшенный ногой вверх, если его начальная скорость равна 24 м/с? Возьмите значение g = 10 м/с.

Часть II

При выполнении заданий части II, записывайте его решение и ответ. Пишите четко и разборчиво.

Модуль «Алгебра»

21. Разложите на множители: 4х 2 – 20ху + 25у 2 + 5у – 2х

22. При каких значениях х выполняется равенство 2 х + 4 = 64.

23. Из поселка в город одновременно выехали мотоциклист со скоростью 40 км/ч и велосипедист со скоростью 10 км/ч. Определите, какое время затратил на путь велосипедист, если известно, что он прибыл в город на 1,5 ч позже мотоциклиста.

Модуль «Геометрия»

24. Три точки В, D и M лежат на одной прямой. Известно, что BD = 7 см, MD = 16 см. Каким может быть расстояние ВМ? Для каждого из возможных случаев сделайте чертеж

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

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

Итоговый тест за 7 класс

Ответы часть I

«Алгебра»

Номер задания

Вариант I

3х 2 (у – 4х )

Вариант II

(в – 6а )(в + 6а )

3а 2 + 28а

«Геометрия»

«Реальная математика»

Номер задания

Вариант I

Вариант II

60 0 , 60 0 , 60 0

Ответы часть II

Модуль «Алгебра»

Модуль «Геометрия»

Вариант I

(4х – 3у )(4х – 3у – 1)

16 см или 4 см

Вариант II

(2х – 5у )(2х – 5у – 1)

23 см или 9 см

Литература:

1. Алгебра. 7: Учебник для общеобразовательных учреждений/ Г.В.Дорофеев, С.Б.Суворова, Е.А.Бунимович и др; под редакцией Г.В.Дорофеева; Российская академия наук. – 6-е издание. – М. : Просвещение, 2010 г

2.Геометрия, 7-9; Учебник для общеобразовательных учреждений/ Л.С. Атанасян, В.Ф.Бутузов, С.Б.Кадомцев и др. – 12-е издание. – М. : Просвещение, 2002 г

3. Алгебра. Тематические тесты. 7 класс/ Л.В.Кузнецова, С.С.Минаева, Л.О.Рослова и др. Российская академия наук. – М. : Просвещение, 2009 г

4. Государственная итоговая аттестация выпускников 9 классов в новой форме. Математика 2014. Учебное пособие./ А.В.Семенов, А.С.Трепалин, И.В.Ященко, П.И.Захаров; под ред. И.В.Ященко; Московский центр непрерывного математического образования. – М.: Интеллект-Центр, 2014.

Ресурсы интернет сайта. Egeigia.ru . Информация об экзаменационной работе

Пояснительная записка к итоговому тесту по математике за курс 7 класса

Данный тест содержит темы курса алгебры и геометрии за 7 класс. Содержание экзаменационной работы находится в рамках Обязательного минимума содержания образования по математике в основной школе.

Общее время работы – 40 минут.

Всего в работе 9 заданий, из которых 7 заданий базового уровня (часть I) и 2 задания повышенного уровня (часть II).

Работа состоит из двух модулей: «Алгебра», «Геометрия».

Модуль «Алгебра» содержит 5 заданий: в части I – 3 задания с выбором ответа А1 – А3 и 1 задание с кратким ответом – В1; в части II – 1 задание с полным решением С1.

Модуль «Геометрия» содержит 4 задания: в части I – 1 задание с кратким ответом В2, 1 задание с выбором ответа – В3 и 1 задание на соотношение – В4; в части II – 1 задание с полным решением С2.

Тест составлен по принципу проведения ОГЭ, что позволяет учащимся 7 класса психологически готовиться к экзаменам. Для составления теста использовалась следующая литература:

    Алгебра: сб. заданий для подготовки к итоговой аттестации в 9 кл./ [Л.В. Кузнецова, С.Б. Суворова, Е.А. Бунимович и др.].– М.: Просвещение, 2010. – 192с.: ил. – (Итоговая аттестация).

    Алгебра. ГИА. Экспресс-диагностика 9 класс.240 диагностических вариантов/ В.В. Мирошин.- М. «Национальное образование»,2012-256с.

    ГИА-2013.Математика: типовые экзаменационные варианты: 30 вариантов/ под ред. А.Л. Семенова, И.В. Ященко.- М. «Национальное образование»,2012-192с.

Критерии оценивания

Менее 7 заданий

7 заданий

8 заданий

9 заданий

Таблица ответов

Тест по математике за курс 7 класса

1 вариант

Часть 1

Модуль «Алгебра»

А1. Перечислите в ответе номера верных равенств.

    А2. Решите уравнение: (5x–3)+(7x–4)=8–(15–11x).

«7 plagues of Software Testing» - это цикл из семи заметок Джеймса Виттекера, в мае 2009 года присоединившегося к команде Google в качестве Test Director. Этот цикл родился из его первого выступления (tech talk) в Google, где его выводы, по признанию самого Джеймса, были признаны ребятами из Google достаточно провокационными.

Оригиналы всех семи заметок опубликованы в блоге http://googletesting.blogspot.com/ . Переводы заметок можно найти по тегу whittaker в блоге Юли Нечаевой: http://jnechaeva.blogspot.com/search/label/whittaker

Порок бесцельности

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

И это именно то, чего нам не хватает в тестировании. Мудрость тестирования? Вы шутите? Где она? Кто же её зажал? Не подскажете?

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

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

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

Порок бесцельности, увы, широко распространен. И нужда в Мудрости очень остра. Nike говорит нам: ‘just do it’, но что применимо к упражнениям, не подходит к тестированию ПО. В следующий раз, поймав себя на ‘just doing’ тестирование, остановитесь на мгновение и спросите себя: «Какова моя цель?» и «Каково назначение этого теста?». И если ответ не приходит к вам моментально, вы в плену бесцельности, «just doing it», положившись на удачу и грубую силу в усилиях по поимке вашей добычи.

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

Станьте для них Мастером. Создавайте тестировщицкую книгу заклинаний и делитесь ей с другими в своей команде. И со временем вы избавитесь от порока бесцельности.

Порок повторяемости

Если бесцельность – это результат «простоделания», то повторяемость – это результат «простоделания несколько раз». Раз за разом, билд за билдом, спринт за спринтом, версия за версией мы тестируем наш продукт. Разработчики проводят инспекции, создают юнит-тесты и запускают статические анализаторы. Но у нас есть лишь маленькие догадки по поводу всей этой работы, и мы не можем доверять им. Разработчики тестируют, но затем перетестируем мы. Мы не можем поручиться за то, что они делают, и поэтому мы подвергаем повторному тестированию всё. Наряду с ростом нашего продукта в фичах и по мере фиксов дефектов мы продолжаем наше тестирование. Новые тесты теряют свою новизну очень быстро, и все они, в конце концов, становятся устаревшими.

Существует Бейзеровский парадокс пестицида. Пестициды убивают жуков, но опрыскайте одно и то же поле одним и тем же ядом достаточное количество раз, и у оставшихся жуков выработается иммунитет. «Прополоскать и повторить» - это алгоритм для мытья волос, а не для тестирования ПО. Последнее, чего мы хотим добиться, -- это билд, полный супер-багов, устойчивых к нашему «тестициду». Дальше – хуже: всё, что называется «успешным тестированием» будет давать нам фальшивое видение тщательности и делать наши метрики завершенности кучей опасного вранья.

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

Память – это та штука, которая с возрастом слабеет первой, но в общей картине инженерии разработку ПО можно назвать старой с очень большой натяжкой.

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

Тестировщики подвержены двум типам порока амнезии. У нас есть командная амнезия, которая заставляет нас забывать наши прежние проекты, наши прежние баги, тесты, сбои и так далее. Требуется время для построения коллективной памяти, которая помогла бы нам остановить повторение наших ошибок. Каждый проект – это не старт с нулевой точки, это всего лишь новая цель для уже более опытной команды. Звездный корабль Enterprise сохраняет бортовой журнал. Это дневник, в котором описаны все приключения его экипажа и к которому можно обратиться за деталями, которые возможно помогут людям выбраться из текущего очередного переплета. Я не пропагандирую ведение дневников для команд тестирования, но я действительно хочу иметь механизм для сохранения знаний. Идея в том, что мы как команда основываемся на наших коллективных знаниях и успехах. Чем длиннее память экипажа Enterprise, тем лучше её можно использовать.

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

Второй тип проблем с памятью – амнезия индустрии. Когда я упоминал Бориса Бейзера и его парадокс пестицида в моем предыдущем посте, скольким из вас пришлось искать, что это такое? А те из вас, кто знал, - как у вас со знаниями AJAX? Будьте честными: да, есть ребята, которые в курсе как исторического ракурса, так и современных технологий, но они так редки, так редки... Наше знание, кажется, не коллективное. Оно ситуативное. Те, кто помнит идеи Бориса Бейзера, работали в мире, где AJAX не было. Тем, кто без проблем говорит на языке web, не хватает фундаментального мышления и мудрости. Запоминание – вот что у нас есть, но это не настоящая память.

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

Позвольте мне завершить эту колонку, показав пальцем внутрь: Как же мы [Гугл] будем тестировать недавно анонсированную ОС Chrome? Сколько коллективной памяти мы сохранили после Chrome и Android? Сколько из того, чему мы научились, тестируя Android, поможет? А сколько из этого будет переиспользоваться? Как легко тестовые команды Chrome и Android адаптируются к этому новому испытанию? И, конечно же, многие наши проблемы тестирования – это те, с которыми мы уже сталкивались.

Запомним ли мы?

Порок скучности

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

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

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

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

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

Порок бездомности

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

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

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

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

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

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

Порок слепоты

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

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

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

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

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

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

Порок энтропии

Математически, энтропия – это мера неопределенности. Скажем, если есть 5 событий, то энтропия будет максимальной, если все они равновероятны, и энтропия будет минимальной, если лишь одно из событий определено, а остальные 4 – невозможны.

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

Тестировщики привносят энтропию в разработку добавлением ряда вещей, которые следует сделать разработчику. Когда разработчики пишут код, энтропия мала. Когда мы заводим баги, мы увеличиваем энтропию. Баги отводят внимание разработчиков от кодирования. Теперь они должны работать параллельно и над созданием, и над починкой фич. Чем больше багов, тем больше параллельных задач, и это повышает энтропию. Энтропия – одна из причин, почему баги вызывают ещё больше багов: принцип энтропии обеспечивает это. Энтропия порождает энтропию! В конце концов, математика показывает нам то, что и так интуитивно понятно: предотвращение круче лечения.

Как бы там ни было, мы ничего не можем сделать, чтобы полностью предотвратить порок энтропии, кроме как создать разработчиков, которые никогда не ошибаются. А раз это маловероятно, мы должны определять, как и когда мы сталкиваемся с энтропией, и делать все, что в наших силах, чтобы ею управлять. Чем больше мы сможем сделать во время разработки, тем лучше. Помогать в code review, вводить наших разработчиков в курс тест-планов, пользовательских сценариев и окружений, чтобы они могли кодировать с меньшим количеством багов, которые нам пришлось бы рапортовать. Выкуривать баги как можно раньше, заводить их пачками и быть уверенными, что мы создаём только высококачественные баг-репорты, причесывая их самостоятельно, концентрируя тем самым мысли программистов на разработке. Написание хороших баг-репортов и быстрая проверка исправлений удержат внимание разработчиков там, где ему положено быть. Фактически это максимизирует определенность «разработчицких событий» и минимизирует количество и влияние багов. Энтропия, таким образом, сходит на минимум.

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

Loading...Loading...