Перейти к содержимому

Фотография

Тестирование ПО. Как и чем?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 22

#1 Sunchezzz

Sunchezzz

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 14 января 2008 - 14:47

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

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

1) Мне нужно найти ПО (бесплатное или платное), которое позволяет проводить аудит программного кода на предмет типовых ошибок, например, на переполнение буфера, например, знаю для этого такой софт Rational Purify и BoundsChecker, которые используются для C и C++ программ. Необходимо, подобное ПО, но для C# и Delphi проектов.

2) Необходимо программное обеспечение для тестирования баз данных: их нагрузки, основных ошибок в их проектировании. Например, для забивания базы генерированными данными и тестирования её нагрузки.

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

Если честно, не понимаю как его тестируют. Что можете подсказать, что использовать и как тестировать?

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

За ранее всем огромное спасибо!
  • 0

#2 serious_jsir

serious_jsir

    Новый участник

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Zhuk Sergey A

Отправлено 15 января 2008 - 08:16

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


SilkPerformer. Неплохой продукт. Сценарии и виртульные пользователи.
  • 0

#3 Sunchezzz

Sunchezzz

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 15 января 2008 - 08:34

Спасибо за совет, гляну!

Ешё вопрос, нашёл TestComplete http://www.automated...s/testcomplete/, который может очень много, в том числе как я понял и может код протестировать на утечку памяти и прочее, и по сценарию протестировать весь софт, и ещё куча всего. Кто его использовал, что можете сказать?

Также та же компания выпускает AQTime http://www.automated...qtime/index.asp, который есть "performance profiler and memory allocation debugger".

Что можете по ним сказать?

Так же что можете посоветовать для тестирования баз данных?
  • 0

#4 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 15 января 2008 - 13:10

1) Мне нужно найти ПО (бесплатное или платное), которое позволяет проводить аудит программного кода на предмет типовых ошибок, например, на переполнение буфера, например, знаю для этого такой софт Rational Purify и BoundsChecker, которые используются для C и C++ программ. Необходимо, подобное ПО, но для C# и Delphi проектов.

Аудит кода - это немного другое. Это проверка кода на соответствие стандарту. Например рсдн-овскому. Обычно этим занимаются опытные программисты (от 10 лет опыта).
А то что вы говорите - поиск ошибок переполнения буфера и утечек памяти это тестирование безопасности, нагрузочное тестирование и т.д. и т.п.
Но это не важно. Важно то, что это сложные виды тестинга. Вот так с ходу я бы за переполнение буфера не взялся.



2) Необходимо программное обеспечение для тестирования баз данных: их нагрузки, основных ошибок в их проектировании. Например, для забивания базы генерированными данными и тестирования её нагрузки.

SQL Server Management Studio. За исключением поиска ошибок проектирования. Ошибки проектирования, к сожалению, ищутся при помощи другого инструмента. Называется он "голова опытного ДБА". Например голова Беского-Доронина подойдет. Инструмент очень даже не бесплатный.

И посмотрите вот это: http://blog.shumoos.com/archives/77. Может поможет. А может и нет.


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

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

PS. Совет. Вам не нужен TestComplete. Он для вас бесполезен. И приведет только к потере времени. Вам нужна теория обеспечения качества ПО. Много теории. Впрочем, моему совету совершенно необязательно следовать.
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#5 Sunchezzz

Sunchezzz

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 15 января 2008 - 13:57

Спасибо SALar!!! Ценная информация!

1) По тестированию безопасности. Тут все таки не только безопасность, но и проверка на правильность кода нужна, т.е. закрытие циклов тех же и прочее, т.е. на предмет типичных ошибок, которые могут привести к нестабильной работе или к повышенной нагрузке на систему. Знаю точно, что для С++ программ это делал BoundsChecker от Compuware.
А вот для Delphi и C# не знаю.

2) За SQL Server Management Studio. Она как я понял только для MS SQL баз? А для проверки баз Firebird, MySQL баз подойдёт?

3) Про модель нагрузки ничего не слышал. Буду изучать тему. Но должно же быть какое либо По для проверки на производительность?

Понятно, для того чтобы всё это работало и ПО было реально качественным одного ПО мало, нужны ещё и мозг и голова. Никто не спорит. У нас программеры опытные, стаж от 5 до 10 лет и стараються следовать рсдн. Но вот недавно столкнулся, что ряд последних проектов был оттестирован ими крайне плохо. Программа при определённых условиях не закрывалась, вылетали ошибки, хотя на их компах и на моём всё работало. Вот поэтому и решил изучить сам без их помощи данную отрасль, тестирования и создать методологию, чтобы они проверяли весь внутернний разрабатываемый софт. Поэтому и прошу вашей помощи.
  • 0

#6 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 15 января 2008 - 15:55

3) Про модель нагрузки ничего не слышал. Буду изучать тему. Но должно же быть какое либо По для проверки на производительность?

Реально, посмотрите теорию сначала.
Например про производительность есть книжечка "Эффективные решения", там все очень понятно расписано.
  • 0

#7 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 15 января 2008 - 15:58

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

Кстати очень не рекомендую идти этим путем.
Программисты по определению не очень хорошие тестировщики, тем более у них есть на что более эффективно время потратить.

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

#8 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 15 января 2008 - 16:19

Согласен с Алексеем.
И еще. Я пью пиво. Предпочитаю темное. Предпочитаю "Пивную Галерею" на Менделеевской. Если за один вечер я не сьекономлю вам неделю вашего времени - верну стоимость. Кстати, здесь есть масса народа, которые меня прекрасно заменят.
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#9 Sunchezzz

Sunchezzz

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 15 января 2008 - 19:58

Оффтоп:
SALar, хм.... ну чтож интересное предложение... вполне можно и осуществить, только уже не на этой недели наверно. Давайте подумаю, и вам сообщу. Кстати, а почему не на чистых прудах, там есть очень хороший чешский бар "Пилзнер" с настоящим чешским пивом?

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

#10 Oldman

Oldman

    Опытный участник

  • Members
  • PipPipPipPip
  • 331 сообщений
  • ФИО:Александр

Отправлено 16 января 2008 - 10:28

...

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


По поводу зарплат можно посмотреть здесь http://it4business.ru/job/salary/

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

А если все так как описано выше, то требованием будет умение тестировщика самостоятельно выбирать методологию и стратегию тестирования, умение писать тест-планы и тест-кейсы (это по минимуму)
  • 0

#11 Sunchezzz

Sunchezzz

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 16 января 2008 - 11:10

А если все так как описано выше, то требованием будет умение тестировщика самостоятельно выбирать методологию и стратегию тестирования, умение писать тест-планы и тест-кейсы (это по минимуму)


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

2SALar:
подумал, давай реально на след. недельке пивка попьём, может и правда разъяснишь ситуацию :)
  • 0

#12 Oldman

Oldman

    Опытный участник

  • Members
  • PipPipPipPip
  • 331 сообщений
  • ФИО:Александр

Отправлено 16 января 2008 - 11:33

А если все так как описано выше, то требованием будет умение тестировщика самостоятельно выбирать методологию и стратегию тестирования, умение писать тест-планы и тест-кейсы (это по минимуму)


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

2SALar:
подумал, давай реально на след. недельке пивка попьём, может и правда разъяснишь ситуацию :)


да согласен часть информации выше не учел. Я правда написал немного другие требования чем уровень сисадмина, да не в том суть.
  • 0

#13 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 16 января 2008 - 13:47

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

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

В таких случаях для начала лучше все-таки найти инженера senior уровня. Они иногда попадаются на рынке, только ловить нужно или долго, или задорого.
  • 0

#14 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 16 января 2008 - 14:48

2SALar:
подумал, давай реально на след. недельке пивка попьём, может и правда разъяснишь ситуацию :)

Да не вопрос.

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

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

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

Опять таки согласен с Алексеем. Я бы правда оценил в год - полтора, но ведь попадаются очень способные люди. И если брать специфику утечек и прочее, то стоит поискать человека имеющего неплохой бекграунд внутренностей. Лучше С и/или С++. Все таки у Java и C# уровень абстракции выше.
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#15 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 16 января 2008 - 15:00

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

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

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

Опять таки согласен с Алексеем. Я бы правда оценил в год - полтора, но ведь попадаются очень способные люди. И если брать специфику утечек и прочее, то стоит поискать человека имеющего неплохой бекграунд внутренностей. Лучше С и/или С++. Все таки у Java и C# уровень абстракции выше.


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

А вот ссылка для дальнейших размышлений: http://drquality.ru/?p=22
  • 0
Алексей Булат
Про Тестинг

#16 Sunchezzz

Sunchezzz

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 16 января 2008 - 17:30

За ссылку спасибо, интересно пишите.

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

В принципе, многое прояснилось. Нашёл массу информации, буду изучать, плюс надеюсь SALar при встрече многое дообъяснит :)

Спасибо всем за помощь!
  • 0

#17 Sunchezzz

Sunchezzz

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 17 января 2008 - 12:51

2SALar:

как с тобой связаться можно? Напиши мне в аcьkу, пожалуйста, 167-949-252
  • 0

#18 Oldman

Oldman

    Опытный участник

  • Members
  • PipPipPipPip
  • 331 сообщений
  • ФИО:Александр

Отправлено 20 января 2008 - 09:40

2SALar:

как с тобой связаться можно? Напиши мне в аcьkу, пожалуйста, 167-949-252


@Sunchezzz

SALar просил передать что в связи с возникшими обстоятельствами в течение 1-2 недель у него не будет возможности доступа в интернет, а также и возможности встретиться.
  • 0

#19 Sunchezzz

Sunchezzz

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 29 января 2008 - 11:28

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

Тестирование любого Windows/Linux/Java/Symbian продукта должно происходить в несколько этапов и состоит из:
• юнит тестирования, проводимого непосредственно самим программистом (покрытие кода 60-70%, тесты только на часто изменяемые участки кода и алгоритм);

далее тестировщик уже после окончания этапа разработки программистом:
• функциональное тестирование продукта и проверка его соответствию ТЗ;
• тестирования базы данных на производительность (с помощью средств управления СУБД'ами);
• тестирование и проверка интерфейса;
• тестирование инсталляции и деинсталляции;
• системное тестирование продукта (на разных операционаках, с анитивирусом Касперского и с разными правами);
• доработки найденных багов;
• и окончательного этапа тестирования, которое включает функциональное и системное тестирование.

Что скажете? Правильно ли мыслю, так ли должно быть построено тестирование продукта, чтобы обеспечить должное качество?
  • 0

#20 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 29 января 2008 - 16:33

...
• и окончательного этапа тестирования, которое включает функциональное и системное тестирование.

Что скажете? Правильно ли мыслю, так ли должно быть построено тестирование продукта, чтобы обеспечить должное качество?

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

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

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


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных