• Какую технику тех дизайна применить?

    nullnull
    @nullnull
    Вот есть такая задачка, я понимаю что здесь нужно использовать технику "Тест дизайна" - "Граничные значения", насколько это правильно?

    "Граничные значения" и можно ещё "классы эквивалентности", грубо говоря, сгруппировать примеры.
    Так что да, верно.

    Я думаю проверить следует следующие значения:
    -1/0/1/599/600/601/1999/2000/2001/2999/3000/3001/max


    Полагаю, случай с 600 спорный для "минимального набора". Объясню почему.

    у вас есть следующие границы: 0-1999 = 0%
    2000 - 2999 = 2%
    3000 - inf = 5%

    Т.е. используя идею граничный значений 600 долларов это не совсем граница, где меняются проценты.
    А ещё можно сюда внести "класс эквивалентности", типа кратный или не кратны 600, например,
    чем 599 отличается от 1? да ничем с т.з. 600 и 599 или 600 и 1.
    Оба варианта (599 и 1) это не 600 и находятся в границах 0-599.

    Поэтому из минимального набора я бы этот вариант выкинула.
    Действуя такому принципу, некоторые тоже бы выкинула, оставив эти варианты:
    1. -1, 0, 1
    2. 1999, 2000, 2001
    3. 2999, 3000, 3001


    Граничные условия - это проверка условий, вида:
    if a < b < c:
        do_something
    else:
        do_something


    И наиболее часто встречаемые тут ошибки - это путают знаки (человеческий фактор) или забывают поставить знак = или, наоборот, добавляют, когда не надо (это уже слабая математика, множества).

    И в случае подобных задач, надо проверить - входит ли элемент в какое-то множество или нет. И если входит, то надо ещё понять, в какое множество он входит.
    Например. там стоит такая ошибка: x > 3000 = 5%, т.е. тут пример, когда забыли поставить "=" и значение 3000 попало в раздел "2%" или куда-то ещё, но не в 5%.

    Отдельно можно ещё проверить всякие дробные значения, например,
    1999,99 - это 1999 или 2000? округление в какую сторону будет, если будет? Т.е. обратить внимание на типы данных. Хотя бы 1 тест, если криво, то криво будет везде.

    Но вот как оформить тест кейсы, не совсем понимаю.

    https://www.software-testing.ru/library/testing/ge...

    Как пример оформления. Если у вас в задании не указано что-то конкретное, то подгуглить и использовать шаблон.
    Обязательно указывайте что вводите (те примеры) и что ожидаете от таких ответов.
    Ответ написан
    3 комментария
  • Postman как правильно передать параметры?

    SoreMix
    @SoreMix
    yellow
    Хотите чтобы число вернулось прямо в запросе? Не думаю что такое есть. Можно посчитать скриптом из Tests
    https://api.nasa.gov/mars-photos/api/v1/rovers/curiosity/photos?sol=1666&api_key=DEMO_KEY

    const responseJson = pm.response.json();
    var cameras = [];
    responseJson["photos"].forEach(function (photo) {
        var name = photo["camera"]["name"];
        if (!cameras.includes(name)) {
            cameras.push(name);
        }
    });
    
    console.log("Total photos:", responseJson["photos"].length);
    console.log("Cameras:", cameras);


    Консоль:
    604b32b1a9278408619438.jpeg

    Либо можно взять манифест о миссии и там найти интересующий сол
    https://api.nasa.gov/mars-photos/api/v1/manifests/Curiosity?api_key=DEMO_KEY


    Скрипт:
    const responseJson = pm.response.json();
    const sol = 1666;
    responseJson["photo_manifest"]["photos"].forEach(function(photo) {
        if (photo["sol"] == sol) {
            console.log(photo);
            return
        }
    })


    Консоль:
    604b345e598ae154087076.jpeg

    Найти снимок с id 268034 сделанный ровером Opportunity на панорамную камеру в первый сол


    То же самое по сути, Tests:
    const responseJson = pm.response.json();
    const photoId = 268034;
    responseJson["photos"].forEach(function(photo) {
        if (photo["id"] == photoId) {
            console.log(photo);
            return
        }
    })


    Консоль:
    604b35985dd63750279676.jpeg
    Ответ написан
    1 комментарий
  • Как установить webdriver на Pycharm?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Эээ... если речь о selenium, то по-моему
    pip install selenium
    и затем
    from selenium import webdriver
    Ответ написан
    9 комментариев