Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
1

Тестирование программы

05.06.2013, 17:36. Показов 2185. Ответов 12
Метки нет (Все метки)

Доброго дня.Ребята мне вот интересно кто как тестирует программу?
Я понимаю идеального метода отлова ошибок нет, но может кто выбрал для себя лучший...
Мне советуют Юнит - тестирование , но чем оно лучше остальных методов?
Ребята помогите кто чем может, посоветуйте что лучше и почему ...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2013, 17:36
Ответы с готовыми решениями:

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

Тестирование программы С++
Какие есть программы что бы проверить код на утечку памяти , мусор и другие сюрпризы? Спасибо!

Тестирование потоками данных программы в C++
Как это реализовать? где можно почитать

Тестирование программы
Здравствуйте! Передо мной стоит задача протестировать программу на предмет времени выполнения её...

12
Практикантроп
4735 / 2641 / 512
Регистрация: 23.09.2011
Сообщений: 5,672
05.06.2013, 17:53 2
Ddv122, от меня чисто теоретический совет... - на программистских форумах часто попадается специальный раздел "тестирование"; как я понял, там пасутся зубры-хакеры, у которых просто богатый опыт "усадить" чужую программу. То, что авторское тестирование может просто обойти, у тех ребят должно мигом проявиться.
1
LK
Заблокирован
05.06.2013, 17:57 3
кто-то уже маялся...
Юнит-тестирование

суета это все: хорошо зафиксированный пациент в наркозе не нуждается, пардон... максимально продуманная логика программы до этапа писания кода, модульное базовое построение, много пива и сигареты. как-то-так
1
Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
05.06.2013, 19:08  [ТС] 4
Спасибо за советы, но у меня не много другая задача
Мне нужно сравнить для себя 4 метода тестирования , выбрать для себя лучший и написать чем он лучший для меня по сравнению с другими методами.И яко бы произвести тестирование этим методом(показать скрин - что компиляция произошла без ошибок и предупреждений)
0
LK
Заблокирован
05.06.2013, 20:56 5
Лучший ответ Сообщение было отмечено как решение

Решение

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

я давно определил для себя такой способ созидания великого:
- до начала этапа написания кода не гнушаюсь накидать блок-схему в гламурном дизайнере или в бумажном блокноте, само собой, схема в процессе дорабатывается и изменяется
- каждая боле-менее обособленная задача сперва обкатывается как отдельное приложение большей или меньшей сложности, это я называю модульностью, которая позволяет проверить задумку без влияния внешних факторов/зависимостей, например, так выглядит
неполный список модулей
AboutText, AddTaskBarBtn, AddTaskBarBtn_Asplash, ApplicationUpdater, Base64, BitmapToRichEdit, ControlPanel, DeleteSelf, DownloadFileFromInternet, ExpandableDialog, ExternFunc, FlashPlayer, FormFromDll, FormWithOutCap, Fractal, GDI, Gradient, Hook, LogFile, MainMenuHelpRigth, NetworkTV, ProgressBar, ShadowForm, StickyForm, Parser, VLCPlayer, CustomMouseEnterLeave, XMLModule, AboutDll, AboutForm, FireMonkeyTest, MediaPlayer, MMTimer, Skins, SplashScreen, WithoutIni, WMPTV
довольно простой программы, деланой в молодости "для себя".
кроме того, такая практика позволяет обкатать и в дальнейшем многократно использовать один раз доведенный до совершенства модуль для разных разработок.
- проверенные в работе модули по мере необходимости включаются в приложение, позволяя таким образом легче и точнее локализовать проблемные места.
довольно простой пример в качестве лирического отступления - свойства компонентов в подавляющем большинстве случаев я не задаю в Инспекторе объектов - пример можно увидеть в любом выложенном на форуме деланом мною проекте, а пишу ручками в отдельном юните, который подцепляю в нужном месте, таким образом я четко знаю, что, где и почему, не дергаюсь между юнитами, редактором кода и Инспектором объектов при необходимости чего-нибудь исправить, и не насилую память, пытаясь вспомнить, что это, почему оно именно здесь, и откуда у него такой странный вид , это тем более удобно при переносе проекта, без необходимости нудного тупого рассматривания файлов дфм.
конечно, такой способ "ни в какие ворота не лезет" с современной точки зрения, и никак не вяжется с принципами RAD, но я так привык, и мне так удобно.

Таким образом, тестирование происходит как на подготовительном этапе, так и постоянно в процессе разработки. Наверное, в каком-то плане это можно назвать юнит-тестированием.
3
Практикантроп
4735 / 2641 / 512
Регистрация: 23.09.2011
Сообщений: 5,672
05.06.2013, 21:12 6
Цитата Сообщение от LK Посмотреть сообщение
- до начала этапа написания кода не гнушаюсь накидать блок-схему в гламурном дизайнере или в бумажном блокноте, само собой, схема в процессе дорабатывается и изменяется
- каждая боле-менее обособленная задача сперва обкатывается как отдельное приложение...
По белому завидую..., теоретически я так себе и представляю сам процесс, но лень никогда не дает сделать все по правилам. Пишется все "на коленке", и впоследствии оборачивается лишней работой, которой можно было бы избежать, не филонь я на начальном этапе.
1
LK
Заблокирован
05.06.2013, 23:00 7
Цитата Сообщение от nick42 Посмотреть сообщение
Пишется все "на коленке"
- как бы оно не писалось, в конечном итоге важен результат, а я просто не люблю делать глупую работу дважды... или трижды... или...
1
Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
05.06.2013, 23:17  [ТС] 8
LK, спасибо за большой и грамотный ответ - хорошая пища для размышления...и повод стараться и расти вверх
Только передо мной к сожалению чуть чуть другая задача...
Вот основные методы тестирования, мне нужно указать - какой я выбрал для себя и почему (преимущества того или иного метода для меня) - и всё по "госту", мало ли кто такое делал....
Код
Модульное тестирование (юнит-тестирование) — тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция. Часто модульное тестирование осуществляется разработчиками ПО.
	Интеграционное тестирование — тестируются интерфейсы между компонентами, подсистемами. При наличии резерва времени на данной стадии тестирование ведётся итерационно, с постепенным подключением последующих подсистем.
	Системное тестирование — тестируется интегрированная система на её соответствие требованиям. 
	Альфа-тестирование — имитация реальной работы с системой штатными разработчиками, либо реальная работа с системой потенциальными пользователями/заказчиком. Чаще всего альфа-тестирование проводится на ранней стадии разработки продукта, но в некоторых случаях может применяться для законченного продукта в качестве внутреннего приёмочного тестирования. Иногда альфа-тестирование выполняется под отладчиком или с использованием окружения, которое помогает быстро выявлять найденные ошибки. Обнаруженные ошибки могут быть переданы тестировщикам для дополнительного исследования в окружении, подобном тому, в котором будет использоваться ПО.
	Бета-тестирование — в некоторых случаях выполняется распространение версии с ограничениями (по функциональности или времени работы) для некоторой группы лиц, с тем чтобы убедиться, что продукт содержит достаточно мало ошибок. Иногда бета-тестирование выполняется для того, чтобы получить обратную связь о продукте от его будущих пользователей.
	Часто для свободного/открытого ПО стадия альфа-тестирования характеризует функциональное наполнение кода, а бета-тестирования — стадию исправления ошибок. [6]
           Тестирование «белого ящика» и «чёрного ящика».
0
LK
Заблокирован
06.06.2013, 01:32 9
я вам как бы про Модульное тестирование и тылдычил
и выбрал бы я это, или Альфа-тестирование - то, чем мы фактически занимались по другому поводу
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31849 / 20754 / 8061
Регистрация: 22.10.2011
Сообщений: 35,964
Записей в блоге: 7
06.06.2013, 11:25 10
Цитата Сообщение от Ddv122 Посмотреть сообщение
Вот основные методы тестирования, мне нужно указать - какой я выбрал для себя и почему
Интересный список... Только ты не учел, что Альфа и Бета - это способы проведения системного тестирования (и то и то тестирует законченную систему полностью, а не отдельные ее модули), то есть, ответить, что ты выбрал, системное или альфа-тестирование уже невозможно, так же как и "что ты выбрал, Мерседес, или автомобиль?"

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

Не по теме:

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

2
LK
06.06.2013, 15:19
  #11

Не по теме:

Цитата Сообщение от UI Посмотреть сообщение
Удивляешься порой, как оно вообще работает.
- вот именно, поэтому я никогда не воспринимал этот старый анекдот:
Приходит сын к отцу-программисту:
- Папа, а почему солнышко каждый день восходит на востоке, а заходит на западе?
- Ты это проверял?
- Да.
- Хорошо проверял?
- Очень хорошо.
- И как, работает?
- Да, работает.
- Каждый день работает?
- Да, папа, каждый день.
-Тогда, сынок, ради Бога, ничего не трогай...
- как анекдот :) .

0
nick42
06.06.2013, 16:09
  #12

Не по теме:

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

0
LK
06.06.2013, 16:30     Тестирование программы
  #13

Не по теме:

угу, а еще есть, как, после недельной безсонной работы, закончив программу, бедолага уснул на клаве, уткнувшись носом в backspace :D ...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2013, 16:30

Тестирование программы на C++
Имеется программа (язык - c++), которая определяет вид треугольника по введенным трем сторонам....

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

Тестирование программы ErrorLookUp 1.6
Добрый день Уважаемые форумчане! Хочу попросить Вас о помощи. Дело в том, что завтра необходимо...

Автоматическое тестирование программы
Когда я принимаю участие в интернет-олимпиадах проверка правильности решения происходит...

Тестирование multithreading/multiprocessing программы
Доброго всем времени суток! Есть задача - перемножение матриц на Си под линукс, 2 реализации -...

Сборка, отладка и тестирование программы
При выполнении сборки, тестирования и отладки программы вы можете информацией из Интернета, а также...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru