LINUX.ORG.RU

Короче ступор от незнания?

 ,


0

1

Есть такое ТЗ: Ниже приведено задание для разработчика, на основе которого предлагаем Вам составить 1) план тестирования и 2) набор тестовых кейсов.

Расчет прибыли (убытка) по валютному активу.

Приложение при запуске показывает окно (Swing) со следующими компонентами:

- Дата (Date) - дата покупки валюты - Сумма в Долларах США (Amount USD) - количество купленных Долларов США - Кнопка для запуска расчета (Recalculate) - Не редактируемое поле для вывода полученной прибыли (убытка)

При нажатии на кнопку Recalculate, приложение должно скачать курс обмена Доллара США на рубли из сервиса Fixer.io (см. https://fixer.io/documentation) или любого другого сервиса по загрузке данных по курсам валют в формате JSON на дату покупки и на текущую дату. Далее приложение рассчитывает полученную прибыль или убыток в рублях если бы валюту продали по курсу на текущую дату. При этом приложение должно учитывать помимо разницы курсов еще и спред (spread), равный 0.5%. Прибыль выводится в рублях.



Последнее исправление: Gremlin_ (всего исправлений: 1)

Ответ на: комментарий от kravzo

Эм, я как то бегло прочитал думал эту программу надо написать и хотел спросить какой технологией скачивается курс с сайта, а потом увидел , что нужен тестовый план, в принципе я уже делал такую работу , но мне поставили в укор что я юзабилити тесты не использовал и юзер интерфейс

Gremlin_
() автор топика
Ответ на: комментарий от Gremlin_

какой технологией скачивается курс с сайта

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

мне поставили в укор что я юзабилити тесты не использовал и юзер интерфейс

Сочувствую.

kravzo ★★
()

и чо?

мимо Job не промахнулся?

Deleted
()
Ответ на: комментарий от Gremlin_
Тестовый план.
1.	Убедиться, что приложение делает расчет по тз.
2.	Создать некоторые помехи работе приложения и убедиться, что 
ошибки будут обработаны и сообщены пользователю программы.
1.	Решение таково , что либо придется смотреть код расчета по 
формуле, либо написать свою программу которая будет проверять 
работу исходной, что будет проблематично , потому что придется 
тестировать не одну, а две программы. Судя из постановки задачи
 в программе уже есть какое-то количество долларов n1 купленных 
 в момент времени t1. Далее мы вводим количество валюты для 
 продажи в поле доллары, туда можно ввести что угодно в том числе
 и ничего. Это должно быть обработано в программе, т.е. буквы,
 отрицательные числа и прочие не числовые знаки. В принципе можно
 сделать кнопку не кликабельной пока не будет число(целое>=0)
 n2, а можно ли дробное? Не суть. Вот, в зависимости от API его 
 кода будет ли скачиваться самая последняя версия цены валюты? 
 Будет ли скачиваться версия(какая из) цены если мы изменим дату
 на компуктере на неверную(например на вчерашнюю, либо завтрешнюю)
 Если айпи запрос построен таким образом что неважна дата на 
 компьютере а будет браться дата сервера цен валюты на момент 
 запроса t2.
 Тут в зависимости от шифрования(или его отсутствия) запрос 
 может быть не обработан, то есть json-ответ не получен. В 
 принципе тут 
 я перехожу из 1й части уже во вторую.
2.	 Json ответ может быть не получен, если мы выключим интернет,
 что так же должно быть обработано в программе, и пользователь 
проинформирован должен быть.
Дальше поскольку полей и кнопок почти нет, то интеграционное 
тестирование этого всего очень тривиально. То есть по формуле
n1*rub(t1)-n2*rub(t2)-spread=delta(N). 
Здесь t1<=t2,0 =<n2<=n1. Delta(N) – любое число,spread=0.005,
rub(t)-функция возвращающая курс доллара к рублю в момент времени t.
 Из этих неравенств видно, что необходимо проверять обязательно
 эти неравенства, то есть например мы не можем продать больше чем 
 уже есть купленно долларов. Все ошибки должны быть обработаны 
 в виде подсказок пользователю.
Далее Тест кейсы.
Неохота их писать они нудные поэтому я вкратце обощу. 
Но на работе отскуки я бы их писал и очень подробно.
Test case 1 (error data)
1.	Ввод в поле Amount USD ошибки(пустые либо некорректные 
данные,отрицательные числа(что можно вывести в отдельный тест 
кейс, но
 мне сейчас лень это делать))функция isDigit(должна дать ответ)
 и со сравнением >=0
2.	Жмем Recalculate должно появится окно ShowMessage(“Amount USD>=0”)
3.	Тест окончен.
Test case 2 (n2>=n1)
1.	Вводим в поле Amount USD число превышающее количество
 купленных долларов(тут конечно и чуть ранее можно ли вводить 
 данные или 
продаем всю валюту целиком? Не пояснено в тз.)
2.	Жмем Recalculate должно появится окно 
ShowMessage(“Amount USD>=0 and Amount USD<= Current USD”)
3.	Тест окончен.
Test case 3(No Internet Access)
1.	Отключаем интернет .
2.	Вводим данные в поле amount usd(если это возможно)
3.	Жмем Recalculate должно появится окно ShowMessage(“Server not resolved”)
4.	Тест окончен.
Некоторое отступление.
В зависимости от айпи могут быть варианты когда пакет с json’ом не
 пришел целиком, но это протестировать не получиться, это должен
 разработчик обработать самостоятельно. Вклиниться в этот процесс 
 не получиться(тем более если используется шифрование). Если курс 
 задан на полный день(а не как в бинарных опционах и прочих 
 форексах курс плавает каждую секунду или чаще) то на всякий случай можно
 запросить курс дважды. Отсюда получаем последний тест кейс:
Test case 4(Normal work)
1.	Вводим данные в поле amount usd(нормальные)
2.	Жмем Recalculate
3.	Сверяем расчет с программкой расчета по формулам в Excel 
например по формуле что я вывел выше. Конечно, придется где-то 
записать
 сегодняшний курс доллара в ячейку экселя и посмотреть в 
 браузере?(я просто не пользовался данными сайтами).
4.	В случае приблизительного равенства отличие в порядке 
на уровне тысячных долей.
5.	Тест окончен успешно.
В принципе если копнуть глубже можно найти что то еще, но
 я за скоростные брэйнштормы.

Gremlin_
() автор топика
Ответ на: комментарий от Gremlin_

Это не тест план, это говно

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

Deleted
()

Прям стесняюсь спросить... а LOR-то тут при чём?

Или на LORе филиал помощи студентам-разгильдяям открыли, а я не в курсе?

slamd64 ★★★★★
()
Ответ на: комментарий от slamd64

Или на LORе филиал помощи студентам-разгильдяям открыли, а я не в курсе?

Да брось, тебе же помогают, значит открыли.

anonymous
()

Предлагаешь за тебя делать тестовое задание? Тогда давай и оплату тоже за тебя получать будем

XMs ★★★★★
()
Ответ на: комментарий от Gremlin_

Убедиться, что приложение делает расчет по тз

Каким образом? Я как-то учился по курсу метролога и у меня на такие фразы одна реакция: «где методика тестирования?». Как ты собрался проверять, что приложение делает расчёт по ТЗ? Не последовательность действий, а именно методика. У тебя по одному только этому пункту три документа получается: описание методики, требования к стенду и шаблон протокола испытаний.


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

Это должно быть в первом документе из указанных выше

XMs ★★★★★
()
Последнее исправление: XMs (всего исправлений: 3)
Ответ на: комментарий от XMs

Почитай ИСО/МЭК/ИИЭР 29119 «Системная и программная инженерия. Тестирование программного обеспечения» — четыре документа, задающие стандарты тестирования. Поможет

XMs ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.