RSS Feeds
Май 2007
ПН ВТ СР ЧТ ПТ СБ ВС
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
 
Программинг / Общие вопросы

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

  Рейтинг: 3 (1)
Автор: Andrei LukasНаписать ПС | | Дата: 24-05-2007 / 09:35 | 1189 просмотров | [6 комментариев]
Не секрет, что после написания новой версии программы в ней еще много багов. Большие компании порой тратят до 80 процентов времени и средств именно на тестирование и доработки. А как же быть нам шароварщикам? Посоветуйте. Как найти тестеров, надо ли им платить и сколько или есть какие-то другие способы. Спасибо.
версия для печати версия для печати | версия для печати с комментариями
 
Раздел "Критика" этого блога - самое оно. Ну и ключики за отзывы - такова этика :)
Vladislav ApostolyukНаписать ПС Дата: 26-05-2007 / 11:14 Быстро цитировать
RSDN - правда аудитория там судя по комментам угрюмные злобные зависливые закомплексованные программисты :-D.
SWRUS "Критика" и рассылка SWRUS - меньшая активность, зато практически все ответы в тему :).
Главные тестеры - твои друзья и знакомые, сослуживцы на работе, сокурсники в универе и т.д.
Главное, это то, что тестирование функционала программы лучше проводить у целевой аудитории (Кому продавать будешь). Можно просто выложить на какой-нибудь известный сайт\форум бесплатную бету :).
Nikolai KurkovНаписать ПС Дата: 26-05-2007 / 13:07 Быстро цитировать
Что продукт такой глючный что влияет на продажи? Много обращений в саппорт?

А если не продается, то зачем такой продук вылизывать? :)

Тестеры нужны скорее для кастомных решений и при интеграции...

Для готовых продуктов должно хватать простого прогона по тестовым примерам. Естественно делать это должен не сам разработчик - у него почему-то все всегда работает :)
Anton KarpenkoНаписать ПС Дата: 27-05-2007 / 01:57 Быстро цитировать
Выпускать версии альфа/бета и тестировать на реальных пользователях. Оптимальный вариант, ко всему прощему повышающий лояльность аудитории.
Ruslan VoloshynНаписать ПС Дата: 28-05-2007 / 18:24 Быстро цитировать
Поддерживаю. максимум 2-3 раза в один "мажор релиз" извинится перед пользователем и внести фиксы.
_Очень часто_ при этом пользователи "остаются довольны саппортом" и советуют продукт.
Bogdan ShulgaНаписать ПС Дата: 08-06-2007 / 11:15 Быстро цитировать
Пиши параллельно с основным приложением тестирующее. Вначале всё проклянёшь, зато потом для проверки функции достаточно вставить тестовый случай и нажать кнопку. Потому что если перепишешь функцию, влияющую на половину приложения, или забудешь ключ компиляции, отладка может занять много времени...

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

А выглядит это примерно так:

uses
SysUtils,
//
TestClass, Coding, IniTools;

type
TBase64Test = class(TCustomTest)
procedure DoTest; override;
end;

TBase128Test = class(TCustomTest)
procedure DoTest; override;
end;

THtmlCodingTest = class(TCustomTest)
procedure DoTest; override;
end;

implementation

{ TBase64Test }

procedure TBase64Test.DoTest;
var
SI, SO: String;
i: Integer;
begin
inherited;
// из Википедии
SI := 'Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, ';
SI := SI + 'that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure.';
SO := 'TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHN pbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGlj';
SO := SO + 'aCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCB pbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGd';
SO := SO + 'lbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IG Nhcm5hbCBwbGVhc3VyZS4=';
LogAndSetResult('test of Base64 encoding - fixed phrase', SO = EncodeBase64(StrToRawData(SI)));
LogAndSetResultPartially('test of Base64 decoding - fixed phrase', SI = RawDataToStr(DecodeBase64(SO)));
for i := 1 to 10 do
begin
SI := GetRandomRandomData;
LogAndSetResultPartially('test of Base64 - random phrase #' + IntToStr(i),
SI = RawDataToStr(DecodeBase64(EncodeBase64(StrToRawData(SI)))));
end;
end;


В TestClass, соответственно, базовый класс...

Если что, могу помочь.
Alexey DenisovНаписать ПС Дата: 31-10-2007 / 10:39 Быстро цитировать
 
Логин:
Пароль:
  входить автоматически