Feeds:
Posts
Comments

Archive for the ‘Bugs’ Category


Не секрет ,что скорость устранения ошибки в программе зависит от качества баг репорта.  Если он ясен и позволяет легко воспроизвести ситуацию, то  все отлично, а если  он – это некая каша, то толку от него мало.  Правильно говорят .что хороший тестировщик не тот, кто выставит максимальное количество  багрепортов, а тот по тикетам которого исправят максимум багов.

Что же такое хорошо и что такое плохо?

В приложении paint winWP есть занятный глюк,   система позволяет ввести отрицательные значения  размера изображения.  Попробуем написать  багрепорт.

Summary 

ААА, какая клевая бага!

Винда без багов не бывает

WinXP.Paint.В поле размер изображения система позволяет ввести отрицательные значения

Reproducible

Always

Steps to reproduce

*начинаем с точки, известной разработчику. Не стоит начинать с инсталляции  WinXP*

1. В  меню Рисунок выбрать пункт Атрибуты

2. В единицах измерения задать “точки”  *иначе  система может сказать ,что недостаточно ресурсов и это будет уже иной класс бага*

3. В одно из полей размера вводим 10, во второе -1

4. Нажать кнопку ОК

Description

При вводе отрицательного числа  в поле размера изображения система интерпретирует его как очень большое положительное (из -1 в 4294966) и в соответствии с этим  масштабирует исходное изображение.  Система нарушает как логическое условие на то, что размер рисунка не может быть неположительным,  дополнительно в таких условиях нарушается ограничение, что размер рисунка не может превышать 99999.  (more…)

Read Full Post »


Дано:

интерфейс пополнения денег на счету в виде  Х.УУ,  где    Х – целое число от 0 до 99999 ( например, доллары,  гривны, рубли, евро),  а УУ –  значение в центах, копейках. При этом если  в часть УУ вводится менее 10  центов/копеек, то система интерпретирует ввод как 0У .  Например,  вводим  5 центов/копеек, что трансформируется в 05.

Баг:

пополнить баланс на сумму, которая имеет 9 или 8 копеек, как то : 0.09, 0.08, 10.09, 12.08 невозможно

при этом суммы вида 10.07, 11.18,  0.19  отлично обрабатываются

Код:

int sum;
{
    char textValue[256];
    int hrn, cop;
    _S_edit_pay_sum->getTextUtf8(textValue, bo_namembs(textValue));
    int numparams = sscanf_s(textValue, "%i.%i", &hrn, &cop);
    if ((0 > hrn && 0 > cop) || 2 != numparams) {
        assert(false);		//уже проверено валидатором.
        return BoS_ERR;
        /* NOTREACHED */
    }
    #define SUM_SCALE_VALUE 100
    sum = hrn * SUM_SCALE_VALUE + cop;
}

Проблема:
(more…)

Read Full Post »