Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Что нужно для развития в области тестеров  (Прочитано 10029 раз)
0 Пользователей и 1 Гость смотрят эту тему.
asz
Гость
« : 24-02-2009 01:00 » 

Народ, подскажите пожалуйста кто что знает.
Хочу стать тестером.
Может кто подскажет литературу, курсы, тренинги?
« Последнее редактирование: 24-02-2009 17:34 от Алексей1153++ » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 24-02-2009 08:24 » 

Если проводить тесты, то дотошность и... азарт. Может быть был бы полезным подавленный комплекс Герострата Улыбаюсь Если придумывать тесты, то ещё аналитический склад ума.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #2 : 24-02-2009 09:49 » 

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

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Люсь
Модератор

ru
Offline Offline
Пол: Женский

« Ответ #3 : 24-02-2009 11:13 » 

да.
Записан

Посторонним просьба не беспокоить!
-------------------------------------------------
O (I) Rh +
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #4 : 24-02-2009 12:52 » 

Джон, Ну как правило тестеры это те кто начинает свою программисткую карьеру. Первая как бы ступень.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #5 : 24-02-2009 13:13 » 

Finch, это beta тестеры Улыбаюсь)
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #6 : 24-02-2009 15:15 » 

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

Ну и толку от таких тестеров? Только и скажут "не работает". Тестер должен не просто констатировать сам факт наличия бага (мне как программеру от этого ни тепло ни холодно - у меня-то всё работает), а ещё приложить разумный сценарий его воспроизведения с хорошей повторяемостью.
Для этого он должен основательно знать программу как на уровне кода, так и на уровне конечного результата - скопмилированного продукта, к тому же быть хорошим знатоком целевой платформы, знать её особенности и "природные" недостатки, другими словами он должен быть и программером и конечным пользователем в одном лице. Только при наличии этих двух условий он сможет написать толковый тестовый сценарий, которому можно будет доверять на 80%. А это сделать ох как непросто.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #7 : 24-02-2009 15:20 » 

Джон, При этом тестерам как правило платят в несколько раз меньше, чем девелоперам. Не думаю, что толковый программер пойдет на такую работу. Остается одно, студенты старших курсов, которые получают как бы опыт работы. И кстати у кого то из классиков я читал, рекомендуют в команде на одного программера иметь 2 тестеров.
« Последнее редактирование: 24-02-2009 15:23 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #8 : 24-02-2009 15:32 » 

тестеры - это могут быть и полные чайники, они иногда ТАКОЕ находят, что седеют все - и тестеры и программисты Улыбаюсь))
Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 24-02-2009 15:56 » 

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

Был один случай из жизни (лиц и фирм упоминать не буду; фирмы две: большая и гигантская), когда человек с хорошими задатками в тестировании (не профи и не программер) нашел багу и обошел защиту (именно ее и продавали) пользуясь лишь мышкой, клавой и без какого-либо стороннего ПО, кроме тестируемого  - т.е. тем, чем владеет простой пользователь. Гигантской фирме пришлось за такую багу скинуть 30% от контракта. Он был лишь хорошим, опытным пользователем. Когда мы работали вместе, я давал ему свои программы для тестирования с точки зрения логики и пользователя.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #10 : 25-02-2009 01:51 » 

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

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

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

Давайте рассуждать логично. Что даст тест студента-практиканта? Что именно он сможет протестить? Для начала он должен в совершенстве изучить программу и область её применения, что сделать без как минимум инженерного образования в современных условиях практически невозможно. Хорошо допустим фирма потратила драгоценное время своих сотрудников, которые ввели его в курс дела и он таки понял для чего прожка нужна. Даже после этого он ещё не тестер, а простой ловец ошибок. Я это по личному опыту знаю.
Общения с такими "тестирами" выглядит примерно след. образом:
Т. - Я ошибку нашёёёёёёл!!!
П. - Что ты сделал?
Т. - А фиг его знает, вот тут потыкал, потом там потыкал, потом кнопки понажимал. Она и вылетела.
Занавес.

И что мне делать с ТАКОЙ ошибкой? А времечко-то идёт...

Пошли дальше. Допустим вы работаете в такой фирме как наша (см. ниже) и практикант не нашёл глупых ошибок, допущеных безалаберными программерами-разгильдяями. Ваша фирма с гордостью передаёт продукт важному клиенту, пользователи которого в реальных "заводских" условиях находят кучу ошибок в непредусмотренных программером ситуациях.
Например клиент забыл скзать, что у него в цеху стоят исключительно 98е окна.
Заказчик ессно ставит вопрос, а вы вобще-то тестировали прожку? Ну разумеется, тут у нас один... этот... как его... ну короче да, вроде тестировали. Не знаю как в других странах, но в Германии после этого можно смело переквалифицироваться в дворники или грузчики.
Ибо фирме потерявшей всего один только раз репутацию больше нечего делать на софтверном рынке. Ну и кто теперь доверит репутацию своей фирмы какому-нить студенту?
Ведь дело не в том, что ошибки допущены, а в том, какие меры были приняты фирмой-исполнителем, чтобы их избежать. И в подобной ситуации такая фирма будет выглядеть очччень бледненько.

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

тестеры - это могут быть и полные чайники

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

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

Ром, ещё раз повторюсь также касательно твоего примера - это произошло из-за того, что  просто кто-то сэкономил на хорошем Тестере. А то, про что вы говорите - случайность, везение, но никак не система, пусть не 100%, но система. Её можно свершенствовать, изменять, её можно стандартизировать наконец. Спросите у своих студентов-чайников-тестеров, что они знают о ISO 9001:2000?

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

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

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

Ну и непосредственно быка за рога. Во-первых сразу скажу как мы научились работать без тупых ошибок безалаберных программеров. Под тупыми подразумеваются ошибки, когда программер не может внятно объяснить почему он допустил такую ошибку. Ваш покорный слуга лично очень долго страдал "копипейстным"-синдромом. Всё оказалось очень просто. Пластиковая банка с небольшой щелочкой в крышке. Каждая ошибка - 50 центов. Когда она заполняется все идут в ресторан. Первые 50 евро мы набрали довольно быстро. Улыбаюсь

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

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

Плюс он выполняет ещё второстепенные ф-ции, такие как, например, характеристика ошибок и установка приоритетов. Он даже имеет право разрешить определённые ошибки в конечном продукте и перенимает ответственность за эти ошибки на себя. Сразу остановлюсь на этом моменте. Это происходит в противоречивых случаях, когда выполнение заказа в оговореных рамках (сроки-цена) невозможно без наличия ошибок в определённых НЕстандартных условиях. Это очень важно предусмотреть такие ошибки и сообщить клиенту о них, таким образом предоставив ему самому решать, что для него важней и/или выгодней. Опытный Тестер как правило безошибочно определяет такого рода ошибки. В противном случае, если ошибка обнаружена клиентом, то он требует её исправить и... остаётся только либо с бледненьким лицом отмазываться, а значит терять репутацию и идти на уступки в других вопросах, чтобы хоть как-то компенсировать, или же всё-таки выполнять работу в свободное от работы время. Ни то, ни другое с экономической точки зрения не выгодно.
Простой пример. Клиент притаскивает принтер с драйвером, надо жёстко привязать прожку к этому драйверу. Работы на три дня. Тестер выясняет, что с другим драйвером "почти" таким же, прожка не работает. Что делать? Исправлять? Обеспечивать работу с любым драйвером?
Сколько на это надо времени? И тд и тп. Сообщает клиенту. Клиент официально заверяет, что будет использовать ТОЛЬКО указаный драйвер, и соглашаетя с тем, что если кто-то поставить другой драйвер, то либо сам дурак, либо пусть ищет деньги в бюджете для заказа "универсальности". В итоге все довольны и всё проходит без стресса. Программер потратил отведённые три дня и не секунды больше.

Идём дальше. Как я уже сказал, Тестер является юзером-специалистом. Для этого он посещает места работы конечного продукта, знакомится со всеми мелочами реального его применения.
Принимает активное участие в разработки концепции и тд и тп. Таким образом продукт проходит "заводское" тестирование не покидая пределов нашей фирмы. Он устанавливает если это необходимо предоставляемое заказчиком железо (в случае, когда прога должна с ним работать), для чего ессно сначала до отказа в нём разбирается. Спектр железа - самый широкий. Для симуляций в особых случаях собираются электронные схемки моделирующие те или иные сигналы от БОЛЬШОГО устройства. И всё САМ.
Таким образом он выступает так же в качестве консультанта по вопросам создания программерами отдельныз модулей или элементов пользовательского интерфейса и в конечном итоге делает заключение о пригодности прожки для выполнения заданых условий.

Идём дальше. Теперь о Тестере-программисте. Ну как можно тестить программу не зная, что у неё внутри и из чего она сляпана? Даже простые пилоты самолётов знакомы с "железной" начинкой их машин и принципами их работы, чего явно не скажешь о юзверях софта. Поэтому Тестер должен знать о возможностях используемых софтверных технологий, их совместимости с целевыми платформами. Простой пример. Ф-я автозаполнения. Что делает тестер чайник? Заполняет от фонаря 34, 756, 345974 раз. Всё работает, он успокаивается.
Тестер сначала ознакомится  с алгоритмом автозаполнения, найдёт слабые или уязвимые места и сначла распишет тестовые сценарии, которые будут покрывать все (по возможности конечно) ситуации, а потом эти сценарии обкатает. И теперь в случае обнаружения ошибки программер получает не просто тупую реплику, а 1. повотряемый ПРОСТОЙ сценарий воспроисзведения ошибки со всеми деталями плюс 2. рекомендации по её устранению или возможные причины её возникновения. Ооооочень часто именно эта вторая причина экономит кучу программерского времени.
Альтернативная ситуация - ошибка приходит от клиента. На полстраницы расписано (начиная со старта винды) что именно было сделано, ессно кроме того, что действительно необходимо.
Начинаются жалкие метания программера с колосальной потерей времени, на выяснение, а какая же система, какой СП, и какие букаффки таки стояли "в таком окошке с ошибкой".
Заметьте, всё это время программер тратит не на свою непосредственную работу, и даже не на исправление ошибки, а на... да ни на что по сути. В нашем же случае ошибки от клиентов сначала приходят к Тестеру, он проверяет их, выясняет почему он их сам пропустил (не боги горшки обжигают), мотает на ус, настраивает свои автоматические сценарии тестирования (если необходимо), разрабатывает ПРОСТОЙ сценарий воспроизведения ошибки для программера плюс рекомендации. Или же просто объясняет клиенту, почему клиенту выгодно забыть об этой ошибке как о кошмарном сне, ибо в противном случае ему придётся раскошелиться (см. выше).
Самое ценное для программеров - это профессиональное описание ошибки. Не будет ходить далеко. Схема поведения на форуме при просьбах исправить ошибку? Ах если бы все эти чайники были программерами, уж они тогда точно написали бы всю необходимую инфу, а не "доктор у меня это" (с) в лучшем случае с аглицким текстом ошибки. Разве не так? Ну и кто может эту инфу лучше опытного программера предоставить? Ну и кому спорим? Ага
Ну все прелести инфы от Тестера-программера вы можете сами представить. Если нет, я завтра продолжу. Ага

В заключении добавлю. У нас на фирме таких Тестеров два. Один отвечает за общие тесты GUI на VB и C#, плюс в совершенстве разбирается в веб- и серверных технологиях, другой за проекты на C++, C#, Java и тд. Непосредственным программированием они занимаются очень редко и мало, в исключительных случаях.

Уф... устал. Пошёл спать. Завтра перечитаю, может чего подправлю.
« Последнее редактирование: 25-02-2009 02:00 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Люсь
Модератор

ru
Offline Offline
Пол: Женский

« Ответ #11 : 25-02-2009 04:03 » 

Проблемы тестирования входят в предмет "Технология программирования" (это я спрашивающему Улыбаюсь )

Из учебной методички:

Цитата
В команде тестирования специалистов делят на тест-инженеров и
тестеров [36]. Тест-инженер (test engineer) — наиболее квалифициро-
ванный специалист, который владеет навыками планирования тестиро-
вания, разработки и проведения тестов, а также понимает предметную
область. Тестер (test technician, test specialist) — менее квалифициро-
ванный специалист, который главным образом занимается выполнением
тестов.
Для систематического тестирования следует подготовить набор
тестов, обеспечивающих желаемую степень покрытия. Разработка тес-
тов фактически сводится к разработке тестовых сценариев и подготовке
тестовых данных для этих сценариев.

36. Black, R. Critical Testing Processes: Plan, Prepare, Perform, Perfect /
R. Black. — Addison Wesley, 2003.



...И кстати у кого то из классиков я читал, рекомендуют в команде на одного программера иметь 2 тестеров.

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

Тоже где-то читала, а найти быстро щас не могу Улыбаюсь

Нашла статью "Заметки об американском программировании"

Цитата
Как вы относитесь к такой идее: каждому программисту дать двух контролеров качества? Именно так дела и обстоят. Где не два, там полтора точно. Каждое изменение, естественно, приводит к полному перетестированию всей системы (т.е. проверяют, а работает ли то, что уже работало), тут это почему-то называют регрессионным тестированием. Если добавлено новое качество, его, естественно, проверяют тоже.


Как устроен процесс в Microsoft Corporation:

Цитата
Шли годы, фирма претерпевала поистине взрывной рост во всех смыслах этого слова. Производимые продукты усложнялись. Исходный код Windows 95 содержит более 11 млн. строк; неудивительно, что только команда непосредственных разработчиков состояла из более чем 200 программистов и тестировщиков, что на порядок превышало количество разработчиков первых версий Windows [5]. Всего же к 1995 г штат MS состоял из 20 тыс. сотрудников, в числе которых были 1850 разработчиков, 1850 тестировщиков, 400 менеджеров по разработке (program managers) и 2100 инженеров службы поддержки клиентов (customer-support engineers). Само по себе соотношение перечисленных категорий сотрудников необычно и очень показательно для принятой в Microsoft технологии. Пока же констатируем, что количественные факторы достигли такого уровня, что казалось бы требовали радикального пересмотра технологии. Пересмотр постоянно происходил, но радикальности в нем не было никогда.

Записан

Посторонним просьба не беспокоить!
-------------------------------------------------
O (I) Rh +
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 25-02-2009 07:08 » 

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

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #13 : 25-02-2009 12:12 » new

Ром, речь не идёт о том как отдельные работатдатели выкручиваются или экономят, ибо совершенно очевидно, что Тестерам надо платить в несколько раз БОЛЬШЕ чем простым программерам. Какя уже сказал, такой работодатель сам виноват, скупой как известно платит дважды. Просто изначально сама идея кажется бредовой. В большинстве подобных случаев работодатель просто уже привык к потерям при исправлении ошибок или же находится в исключительных условиях без наличия жёсткой конкуренции.

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

И согласись, что быть просто программером для тестера мало - нужно что-то еще.

А тут и соглашаться нечего. Ага Посмотри внимательно, я только и талдычу о том, что это должен быть не ПРОСТО программер, а СУПЕР программер плюс СУПЕР пользователь плюс СУПЕР инженер в одном флаконе. Ага Поэтому быть настоящим Тестером не каждому дано, но к этому можно (и нужно) стремиться.

Вот список книг на русском языке по данной теме (они все есть для ознакомления в инете):

Быстрое тестирование.
Основы тестирования программного обеспечения.
Автоматизированное тестирование программного обеспечения.
Автоматизация процессов тестирования.
Тестирование программного обеспечения.
Отладка приложений.
Искусство тестирования программ.
Введение в тестирование программного обеспечения.
Тестирование ООП обеспечения.

А вот эта также может быть интересна и разработчикам ПО:

Экстремальное программирование: разработка через тестирование.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines