Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Курсовая работа



Software-Testing.Ru - портал тестировщиков  

Новые темы форума тестировщиков


Курсовая работа
2019-12-10 21:37

Добрый вечер!

Столкнулась с проблемой написания курсовой работы, так как не работаю в сфере аудита ИБ, поэтому обращаюсь к Вам за помощью! Тема курсовой работы: '' Типовая методика аудита ИБ коммерческой организации". Может кто-то когда-то писал что-то подобное. Надеюсь на Ваше понимание.



Скидки на пакеты курсов по мобильному тестированию и инструментам от А
2019-12-12 11:20

В честь наступающего Нового Года Арсений Батыров подготовил 3 пакета курсов, которые можно купить с большой скидкой.

 

Первый пакет включает в себя курс по мобильному тестированию и Android Debug Bridge. Их будет вполне достаточно для того, чтобы начать работать мобильным тестировщиком. К ним можно добавить курс Азбука IT, если вы только начинаете работать в IT, или тестовое собеседование — если хотите проверить свои знания после прохождения курсов. Естественно, скидка будет действовать и на них.

 

Второй пакет посвящен полному погружению в мобильную автоматизацию, и включает в себя курс “автоматизатор мобильных приложений”, а также курсы по adbgit и bash. Пройдя все эти курсы и выполнив домашние задания, вы сможете поднять мобильную автоматизацию с нуля — а это ценный навык для тестировщика любого уровня. В конце курса у вас будет готовый для работы фреймворк и все необходимые знания о том, как его разворачивать, хранить и расширять. Опять же, если хотите обсудить варианты развития после прохождения курса — добавляйте к пакету опцию “симулятор собеседования”.

 

Наконец, последний пакет состоит из инструментов тестировщика. В него входят курсы по ADBBashChrome DevtoolsGit и SQL.  Вы можете значительно прокачать свои навыки (и свое резюме) за короткое время, да еще и с большой скидкой. Естественно, можно выбрать только те курсы, которые вам интересны.

 

Состав, цены пакетов и подробное описание можно посмотреть по ссылке.



Сохранение логов Selenium
2019-12-12 13:27
Добрый день
подскажите пожалуйста - перерыл все что можно только было. можно ли каким либо образом сохранять логи выполнения тестов Selenium в текстовый файл?


ExecuteScript при выполнении скрипта возникает ошибка, а при выполнени
2019-12-13 09:33

Есть портал, на котором осуществляется подписание и отправка документов (плагин крипто-про).

Для генерации тестовых данных нужно массово подписать N хэшей этих документов, для этого решила использовать ту же функцию signHash что используется при нажатии на кнопку в интерфейсе, т.о., получился такой скрипт:

console.log("Мой скрипт");
var cert = tscrypto.certificate.getBySn("7a6093565000ee80e911f10420fa3b3b");
console.log(cert);
var hashOrigin = "i2rMVgOspj/xeZZrGT1qvgMqSrfBHQ1XwFiZV/zkiqY=";
var hash = atob(hashOrigin).split('').map(function (c) {
    return ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join('');
var res = tscrypto.signHash(cert.__zone_symbol__value, hash, 100);
console.log(hashOrigin);
console.log(hash);
return res.__zone_symbol__value.toString();

и вот он вызывается          

            var PayLoad = chrome.ExecuteScript(js_script);
 
В результате выполнения в консоли браузера я вижу ошибку функции signHash
Unhandled Promise rejection: Параметр задан неверно. (0x80070057) ; Zone: <root> ; Task: Promise.then ; Value: Параметр задан неверно. (0x80070057) undefined . Если выполнить все команды в этом же браузере , то все отлично отрабатывает.  Вывела все параметры скрипта рис3, и сравнила, с теми которые передаются при нажатии на кнопку рис4. все верно. 
 
Как это победить или в какую сторону копать?
 

Прикрепленные изображения

  • рис3.png
  • рис4.png


Записная книжка тест-дизайнера, часть 2: вдохновение тестировщика
2019-12-13 10:04

Автор: Рикард Эдгрен (Rikard Edgren)
Оригинал
Перевод: Ольга Алифанова

Часть 1

 

Часто (и по праву) говорят, что нужно учитывать куда больше, нежели явные требования, чтобы быть в состоянии хорошо тестировать[1].

 

Самая важная причина тому то, что на момент тестирования мы знаем о продукте больше, чем до его имплементации, и тестировщики рассматривают различные уровни детализации. Другие причины в том, что требования всегда неполны (они не были написаны Господом всемогущим, и список неявных требований почти бесконечен), некоторые вещи нужно опробовать, чтобы в них разобраться, и нет смысла тратить слишком много сил на фиксацию требований.

 

Читать статью полностью...



Тестирование и поиск ошибок
2019-12-13 21:11

Протестируйте требования и найдите ошибки.

Запишите, каким показателям качества требование не соответствует.

Пример требования: Каталоги, являющиеся источником исходных и приёмником конечных файлов, не должны совпадать.

Ответ: требование не соответствует свойству complete, т.к. не ясно какова реакция приложения в случае совпадения этих каталогов

 

1.Конфигурирование приложения сводится к указанию параметров командной строки.

2.Конфигурирование приложения сводится к указанию путей в файловой системе

3.В процессе работы приложение должно выводить журнал своей работы в консоль и лог-файл.

4.The system shall encrypt all password using a standard Java PBE methodology



Запуск тестов из Servlet
2019-12-15 11:37

Добрый день 
Прошу помощи, так как я только недавно познакомилась с selenium и java 
У меня есть класс, в котором содержаться аннотации Test, Before... 
Тест должен быть параметризованным и параллельным 
У меня получается сделать только что-то одно ,( одновременно,чтобы был с параметрами и запускался параллельно, не получается).Данные для параметров берутся из гугл таблицы
поэтому мне предложили использовать Servlet 
и я понятия не имею для чего он и как туда все перенести и как он может справиться с моей проблемой 
Подскажите, с чего нужно начать и для чего вообще используется Servlet для тестов 
Буду очень благодарна 
Спасибо 

Если не сложно, можете дать советы по структуре и архитектуре кода, потому что посоветоваться мне не с кем 

Прикрепленные файлы



проблемы с webdriver-junit5-archetype
2019-12-15 21:08

Доброго времени суток.

 

На днях решил вспомнить к автоматизированное тестирование с помощью SeleniumWebDriver.
Полез в github к Баранцеву. Увидел что он закомитил новый архитип для maven https://github.com/barancev/webdriver-junit5-archetype

Решил осмотреть что там да как., и самое смешное не смог заюзать на прямую WebDriver.
RemoteWebDriver запускается без проблем.
Кто может подсказать что надо дописать в метод

JUnitTestBase.initDriver()

Что бы запустить отдельный инстанс WebDriver(Chrome).

Попытался решить все через SingleWebDriverPool(аналог WebDriverPool) но потерпел крах.

Прошу помощи.
 



TestCon Moscow 2020 - Международная конференция по тестированию и обес
2019-12-16 10:26

Криптовалюта, смарт контракты, блокчейн, нейросети, новый уровень общения и это только начало… Начало конференции TestCon Moscow 2020!

 

В этом году мы возвращаемся к вам уже в четвертый раз! Так что отмечайте даты 31 марта – 2 апреля в календаре.

 

Кратко основная информация:

А сейчас встречайте наших докладчиков:

 

Егор Васильев успел поработать в разных международных компаниях , имеет богатый опыт тестирования разных проектов. В последнее время посвятил себя работе с Etherium

Егор расскажет нам о будущем нашего цифрового мира – блокчейн, и все, что с ним связано. Смарт контрактах, технологиях и инструментах ручного и автоматизированного тестирования. Вместе с ним мы постигнем опыт работы, сложности и их преодоление. В системе, где нет доверия к участникам, нам нужно будет его найти. Егор нам в этом поможет.

 

На новый уровень общения выведет нас Пётр Грибанов, наш следующий, не менее опытный докладчик – 20 лет в тестировании и по его словам “он продолжает учиться”. Кажется, ему уже пора учить нас. И есть чему – эволюции общения, где информация формируется не только нами, ботами, программами, системами и где наше участие возможно уже и не требуется. Пётр расскажет не только о новой системе, поделится с нами опытом тестирования.

 

Крепкий коктейль из настольной игры и цикла разработки ПО приготовит для нас Роман Сорока. Роман покажет обратную сторону разработки. Расскажет историю реального опыта и сделает это в форме игры.

 

Вот наша первая тройка.

 

До 19 декабря билеты можно приобрести по самой лучшей цене.  А для подписчиков портала предлагаем дополнительную скидку в 10% по промокоду SOFTWARE10.

 

Cледите за новостями, мы продолжим знакомить с тем, что вас ждет!

 

До встречи на TestCon Moscow 2020!



Как QA выстроить эффективное взаимодействие с разработчиками. Один воз
2019-12-17 10:23

Ирина Соколова,
Senior QA Engineer
qualsolife.ru

Оригинальная публикация

 

Одна, дополненная другой, мои статьи получились возможным руководством к действию для тех, кто еще не нашел «свой стиль» и не уверен с чего начать.

Кое-кто отозвался, что я пишу о «прописных истинах», но при этом я получила хороший отклик в комментариях и личных сообщениях из разряда «было полезно», «то, что мне сейчас нужно» и т.п. Но были и вопросы. Вопросы, по большей части, сводились к той «боли», которая не минует ни одного QA за его карьеру:

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

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

 

Читать статью полностью...



Как документировать тестирование при помощи SBTM: тестирование в реаль
2019-12-18 10:49

Автор: Кассандра Ланг (Cassandra H. Leung)
Оригинал статьи
Перевод: Ольга Алифанова

 

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

 

В этой статье я дам ряд практических советов по документации исследовательского тестирования при помощи отчетов сессионного тест-менеджмента (SBTM). Тут можно узнать о SBTM больше.

 

Читать статью полностью...



SQA Days-27, Москва, 15-16 мая, 10% скидка по промокоду
2019-12-19 11:23

Забиваем даты 15-16 мая уже сейчас.

 

Ведь в Москве пройдет 27-я международная конференция в области обеспечения качества ПО «Software Quality Assurance Days».

 

Очередное повышение цен планируется 31 декабря, а наши читатели как обычно могут получить 10% скидку на эту конференцию по промокоду s-t.ru

 

Конференция охватит широкий спектр профессиональных вопросов в области обеспечения качества, ключевыми из которых являются:

 

- Методики и инструменты тестирования ПО;
- Автоматизация тестирования ПО;
- Подготовка, обучение и управление командами тестировщиков;
- Процессы обеспечения качества в компании;
- Управление тестированием и аутсорсинг;
- Совершенствование процессов тестирования и инновации.



Perfomance тестирование web-сайта на Selenium?
2019-12-20 10:56

Всем привет!

Я - qa-джун с опытом функционального ручного тестирования.

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

 

Знаю про devtools и как вручную посмотреть скорость загрузки тех или иных элементов. Еще в курсе сущестования сервисов типа https://developers.google.com/speed/pagespeed/insights

 

Смотрел, есть selenium. Но многие статьи о selenium performance testing от 2010-х годов. И в современных статьях рекомендуют использование сервисов третьих сторон.

 

Но как это все автоматизировать? Можно ли сделать такие анализы независящими от сервисов третьей стороны? Если нет, есть ли пути интегрировать их?

 

Слабо представляю, с какой стороны подойти к этому вопросу) Буду рад любому совету. Интересуют гайды, книги, видео, что угодно)

 

Спасибо)



Postman &#34;Schema Valid&#34; как проверить Response с документацией
2019-12-21 19:18

Всем привет  :victory:

Пытаюсь сравнить структуру ответа в postman с документацией (нужно проверить тип полей)

В ответ приходит сообщение, которое может иметь 0 или несколько файлов и квитанций структура у всех прикрепленных файлов или квитанций одинаковая, но их количество постоянно меняется, т.к. сообщение приходит рандомное.

Пример Response:

            "Message": null,
            "Files": []
        },
        {
            "Id": "string",
            "ReceiveTime": "string",
            "StatusTime": "string",
            "Status": "error",
            "Message": "string",
            "Files": [
                {
                    "Id": "string",
                    "Name": "string",
                    "Description": null,
                    "Size": "integer",
                    "RepositoryInfo": [
                        {
                            "Path": "string",
                            "Host": "string",
                            "Port": "integer",
                            "RepositoryType": "string"
                        }
                    ]
                },
                {
                    "Id": "string",
                    "Name": "string",
                    "Description": null,
                    "Size": "integer",
                    "RepositoryInfo": [
                        {
                            "Path": "string",
                            "Host": "string",
                            "Port": "integer",
                            "RepositoryType": "string"
                        }
                    ]
                },
                {
                    "Id": "string",
                    "Name": "string",
                    "Description": null,
                    "Size": "integer",
                    "RepositoryInfo": [
                        {
                            "Path": "string",
                            "Host": "string",
                            "Port": "integer",
                            "RepositoryType": "string"
                        }
                    ]
                },
                {
                    "Id": "string",
                    "Name": "string",
                    "Description": null,
                    "Size": "integer",
                    "RepositoryInfo": [
                        {
                            "Path": "string",
                            "Host": "string",
                            "Port": "integer",
                            "RepositoryType": "string"
                        }
                    ]
                }
            ]
        }
    ]
}

Через это https://www.jsonschema.net/  я преобразую , во что, сам не знаю, но так работает ))))), и после кидаю схему в postman test:

var schema = {
  "definitions": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://example.com/root.json",
  "type": "object",
  "title": "The Root Schema",
  "required": [
    "Id",
    "CorrelationId",
    "GroupId",
    "Type",
    "Title",
    "Text",
    "CreationDate",
    "UpdatedDate",
    "Status",
    "TaskName",
    "RegNumber",
    "TotalSize",
    "Sender",
    "Files",
    "Receipts"
  ],
  "properties": {
    "Id": {
      "$id": "#/properties/Id",
      "type": "string",
      "title": "The Id Schema",
      "default": "",
      "examples": [
        "string"
      ],
      "pattern": "^(.*)$"
    },
    "CorrelationId": {
      "$id": "#/properties/CorrelationId",
      "type": "null",
      "title": "The Correlationid Schema",
      "default": null,
      "examples": [
        null
      ]
    },
    "GroupId": {
      "$id": "#/properties/GroupId",
      "type": "null",
      "title": "The Groupid Schema",
      "default": null,
      "examples": [
        null
      ]
    },
    "Type": {
      "$id": "#/properties/Type",
      "type": "string",
      "title": "The Type Schema",
      "default": "",
      "examples": [
        "outbox"
      ],
      "pattern": "^(.*)$"
    },
    "Title": {
      "$id": "#/properties/Title",
      "type": "string",
      "title": "The Title Schema",
      "default": "",
      "examples": [
        "string"
      ],
      "pattern": "^(.*)$"
    },
    "Text": {
      "$id": "#/properties/Text",
      "type": "string",
      "title": "The Text Schema",
      "default": "",
      "examples": [
        "string"
      ],
      "pattern": "^(.*)$"
    },
    "CreationDate": {
      "$id": "#/properties/CreationDate",
      "type": "string",
      "title": "The Creationdate Schema",
      "default": "",
      "examples": [
        "string"
      ],
      "pattern": "^(.*)$"
    },
    "UpdatedDate": {
      "$id": "#/properties/UpdatedDate",
      "type": "string",
      "title": "The Updateddate Schema",
      "default": "",
      "examples": [
        "string"
      ],
      "pattern": "^(.*)$"
    },
    "Status": {
      "$id": "#/properties/Status",
      "type": "string",
      "title": "The Status Schema",
      "default": "",
      "examples": [
        "error"
      ],
      "pattern": "^(.*)$"
    },
    "TaskName": {
      "$id": "#/properties/TaskName",
      "type": "string",
      "title": "The Taskname Schema",
      "default": "",
      "examples": [
        "string"
      ],
      "pattern": "^(.*)$"
    },
    "RegNumber": {
      "$id": "#/properties/RegNumber",
      "type": "null",
      "title": "The Regnumber Schema",
      "default": null,
      "examples": [
        null
      ]
    },
    "TotalSize": {
      "$id": "#/properties/TotalSize",
      "type": "string",
      "title": "The Totalsize Schema",
      "default": "",
      "examples": [
        "integer"
      ],
      "pattern": "^(.*)$"
    },
    "Sender": {
      "$id": "#/properties/Sender",
      "type": "object",
      "title": "The Sender Schema",
      "required": [
        "Inn",
        "Ogrn",
        "Bik",
        "RegNum",
        "DivisionCode"
      ],
      "properties": {
        "Inn": {
          "$id": "#/properties/Sender/properties/Inn",
          "type": "string",
          "title": "The Inn Schema",
          "default": "",
          "examples": [
            "integer"
          ],
          "pattern": "^(.*)$"
        },
        "Ogrn": {
          "$id": "#/properties/Sender/properties/Ogrn",
          "type": "null",
          "title": "The Ogrn Schema",
          "default": null,
          "examples": [
            null
          ]
        },
        "Bik": {
          "$id": "#/properties/Sender/properties/Bik",
          "type": "null",
          "title": "The Bik Schema",
          "default": null,
          "examples": [
            null
          ]
        },
        "RegNum": {
          "$id": "#/properties/Sender/properties/RegNum",
          "type": "null",
          "title": "The Regnum Schema",
          "default": null,
          "examples": [
            null
          ]
        },
        "DivisionCode": {
          "$id": "#/properties/Sender/properties/DivisionCode",
          "type": "null",
          "title": "The Divisioncode Schema",
          "default": null,
          "examples": [
            null
          ]
        }
      }
    },
    "Files": {
      "$id": "#/properties/Files",
      "type": "array",
      "title": "The Files Schema",
      "items": {
        "$id": "#/properties/Files/items",
        "type": "object",
        "title": "The Items Schema",
        "required": [
          "Id",
          "Name",
          "Description",
          "Encrypted",
          "SignedFile",
          "Size",
          "RepositoryInfo"
        ],
        "properties": {
          "Id": {
            "$id": "#/properties/Files/items/properties/Id",
            "type": "string",
            "title": "The Id Schema",
            "default": "",
            "examples": [
              "string"
            ],
            "pattern": "^(.*)$"
          },
          "Name": {
            "$id": "#/properties/Files/items/properties/Name",
            "type": "string",
            "title": "The Name Schema",
            "default": "",
            "examples": [
              "string"
            ],
            "pattern": "^(.*)$"
          },
          "Description": {
            "$id": "#/properties/Files/items/properties/Description",
            "type": "null",
            "title": "The Description Schema",
            "default": null,
            "examples": [
              null
            ]
          },
          "Encrypted": {
            "$id": "#/properties/Files/items/properties/Encrypted",
            "type": "boolean",
            "title": "The Encrypted Schema",
            "default": false,
            "examples": [
              true
            ]
          },
          "SignedFile": {
            "$id": "#/properties/Files/items/properties/SignedFile",
            "type": "null",
            "title": "The Signedfile Schema",
            "default": null,
            "examples": [
              null
            ]
          },
          "Size": {
            "$id": "#/properties/Files/items/properties/Size",
            "type": "string",
            "title": "The Size Schema",
            "default": "",
            "examples": [
              "integer"
            ],
            "pattern": "^(.*)$"
          },
          "RepositoryInfo": {
            "$id": "#/properties/Files/items/properties/RepositoryInfo",
            "type": "array",
            "title": "The Repositoryinfo Schema",
            "items": {
              "$id": "#/properties/Files/items/properties/RepositoryInfo/items",
              "type": "object",
              "title": "The Items Schema",
              "required": [
                "Path",
                "Host",
                "Port",
                "RepositoryType"
              ],
              "properties": {
                "Path": {
                  "$id": "#/properties/Files/items/properties/RepositoryInfo/items/properties/Path",
                  "type": "string",
                  "title": "The Path Schema",
                  "default": "",
                  "examples": [
                    "string"
                  ],
                  "pattern": "^(.*)$"
                },
                "Host": {
                  "$id": "#/properties/Files/items/properties/RepositoryInfo/items/properties/Host",
                  "type": "string",
                  "title": "The Host Schema",
                  "default": "",
                  "examples": [
                    "string"
                  ],
                  "pattern": "^(.*)$"
                },
                "Port": {
                  "$id": "#/properties/Files/items/properties/RepositoryInfo/items/properties/Port",
                  "type": "string",
                  "title": "The Port Schema",
                  "default": "",
                  "examples": [
                    "integer"
                  ],
                  "pattern": "^(.*)$"
                },
                "RepositoryType": {
                  "$id": "#/properties/Files/items/properties/RepositoryInfo/items/properties/RepositoryType",
                  "type": "string",
                  "title": "The Repositorytype Schema",
                  "default": "",
                  "examples": [
                    "string"
                  ],
                  "pattern": "^(.*)$"
                }
              }
            }
          }
        }
      }
    },
    "Receipts": {
      "$id": "#/properties/Receipts",
      "type": "array",
      "title": "The Receipts Schema",
      "items": {
        "$id": "#/properties/Receipts/items",
        "type": "object",
        "title": "The Items Schema",
        "required": [
          "Id",
          "ReceiveTime",
          "StatusTime",
          "Status",
          "Message",
          "Files"
        ],
        "properties": {
          "Id": {
            "$id": "#/properties/Receipts/items/properties/Id",
            "type": "string",
            "title": "The Id Schema",
            "default": "",
            "examples": [
              "string"
            ],
            "pattern": "^(.*)$"
          },
          "ReceiveTime": {
            "$id": "#/properties/Receipts/items/properties/ReceiveTime",
            "type": "string",
            "title": "The Receivetime Schema",
            "default": "",
            "examples": [
              "string"
            ],
            "pattern": "^(.*)$"
          },
          "StatusTime": {
            "$id": "#/properties/Receipts/items/properties/StatusTime",
            "type": "string",
            "title": "The Statustime Schema",
            "default": "",
            "examples": [
              "string"
            ],
            "pattern": "^(.*)$"
          },
          "Status": {
            "$id": "#/properties/Receipts/items/properties/Status",
            "type": "string",
            "title": "The Status Schema",
            "default": "",
            "examples": [
              "string"
            ],
            "pattern": "^(.*)$"
          },
          "Message": {
            "$id": "#/properties/Receipts/items/properties/Message",
            "type": "null",
            "title": "The Message Schema",
            "default": null,
            "examples": [
              null
            ]
          },
          "Files": {
            "$id": "#/properties/Receipts/items/properties/Files",
            "type": "array",
            "title": "The Files Schema"
          }
        }
      }
    }
  }
}
pm.test('Shema Valid', () => {
    var carrier = JSON.parse(responseBody); 
    pm.expect(tv4.validate(carrier, schema)).to.be.true
}) 

В схеме большинство полей удаляю, оставляю только поле type, пример:

"Message": {
   "type": "null",
  }

Теперь вопросы:

1) Есть ли способ проще в написании чем выбрал я c написанием этой схемы(https://www.jsonschema.net/)? 

2) Как сделать проверку файлов, квитанций, если их будет 10-20шт, не дублируя их? через цикл? а эта схема(https://www.jsonschema.net/), на сколько я понимаю не съест цикл javascript-a 

2) Правильную ли я выбрал форму проверки в postman-e?

3) Если поля обязательные или необязательные, как это прописать в тесте(pm.expect(tv4.validate(carrier, shema)).to.be.true)?

4) Если  сообщении присутствует файл и отсутствует квитанция, как это протестировать?) (Пометить массив квитанций как необязательный?)

Уф, надеюсь более менее понятно написал )))

Заранее спасибо )



Правильность написания сценария
2019-12-22 00:28

Доброго времени суток.

 

Попросили написать сценарий и тест с использованием Selenium + Cucumber.

Проект настроить не составило труда, все вполне понятно.
Начал разбираться с подходом BDD.

Есть требование к сценарию:

1. Открыть браузер и развернуть на весь экран.
2. Зайти на yandex.ru.
3. Перейти в яндекс маркет
4. Выбрать раздел Электроника
5. Выбрать раздел Мобильные телефоны
6. Перейти в расширенный поиск
7. Задать параметр поиска от 20000 рублей.
8. Выбрать производителей Apple и Samsung 
9. Нажать кнопку Применить.
10. Проверить, что элементов на странице 12.
11. Запомнить первый элемент в списке.
12. В поисковую строку ввести запомненное значение.
13. Найти и проверить, что наименование товара соответствует запомненному значению.

Я описал его так:

Feature: Scenario1
   Given открытый браузер 
   Than открыть страницу ya.ru
   And в поисковую строку ввести "яндекс маркет"
   Than найти по поисковому запросу яндекс маркет
   And перейти в яндекс маркет
   Than перейти в раздел "Мобильные телефоны"
   And перйти в разширеный поиск по разделу
   And задать параметр поиска от 20000 рублей
   And выбрать производителей Apple и Samsung
   When нажимаю кнопку "Перменить"
   Than вижу на странице 12 штук товаров
   And запоминаю первый элемент
   When ввожу в поисковую строку запомненое значение
   And нажимаю кнопку "Найти"
   Than запомненое значение равно первому из найденного списка товаров

Может кто-нибудь ответить на вопросы:
1.На сколько корректно я написал сценарий с точки зрения BDD.
2.Так как опыта с BDD у меня нет, может что то можно улучшить в данном сценарии(так как  мне кажется что написал я  полную лажу).

За ответы спасибо за ранее.
 



Система Управления Тесткейсами QuAck — простые радости тестирования
2019-12-23 09:42

Оригинальная публикация

Автор: Азиз Намазов

 

Представляю вашему вниманию перевод статьи «QuAck — the joy of testing» автора Aziz Namazov.
5cb678874146de07f934282ee580f15c.jpg

Сегодня я затрону непростую тему жизненного цикла программного обеспечения. Тема эта достаточно сложная и многогранна, включающая в себя все этапы, начиная от дизайна и планирования и заканчивая деплойментом и поддержкой. Все шаги в процессе связаны в единую цепочку. Таким образом, задержки на одном из них незамедлительно отражаются на всём процессе в целом. Это приводит к простоями и потерям времени. А, как известно — время — деньги.

 

Читать статью полностью...



Lead QA Automation (VORONEZH)
2019-12-23 18:04

Position: Lead QA Automation

Company:  Quantori

Location: Воронеж

Salary: 200K

 

Quantori is a premium software company with high-quality advanced technology solutions and services. Our main domains are e-commerce, cloud transformation, and digital health. 

Head-quarter in Boston.

Development centers: Saint-Petersburg, Voronezh. 

 

Quantori is an international team: we have employees who work not only from co-working offices but also remotely from all over the world.

 

We are looking for a strong candidate with Senior QA Automation (Java) expertise.

 

Responsibilities: -Leading a testing process on the project; -Being responsible for release management activities.

 

We are expecting: -Strong Java automation experience: Spring Core and JUnit; -Ability to organize, motivate and lead a team of QAs (manual and automation); -Experience in implementing CI/CD, BDD/TDD approaches; -Experience in Mobile Automation: Appium, SauceLabs; -Strong knowledge of performance testing; -Ability to improve the existing testing strategy; -Excellent communication skills; -Decision-making and problem-solving abilities; -Experience working on or with remote teams; -English level is from upper-intermediate.

 

Nice to have: -JavaScript or TypeScript automation experience; -Experience with Jest, Jasmine or Mocha; -Experience with AWS, Docker.

 

We offer: -Highly competitive compensation; -Remote or office work model; -Continuous education, mentoring and professional development programs; -Strong management and tech expertise; -Certifications paid by the company.

 

If you are interested, please, contact me: @Natal_ia



Руководство по XSS, часть 1
2019-12-24 10:17

Авторы: Джейкоб Каллин и Ирен Лобо Валбуэна (Jakob Kallin, Irene Lobo Valbuena)
Оригинал статьиhttps://excess-xss.com/
Перевод: Ольга Алифанова

 

Общая информация

Что такое XSS?

 

Межсайтовый скриптинг (XSS) – это атака инъекции кода, позволяющая атакующему запустить вредоносный JavaScript в браузере другого пользователя.

 

Злоумышленник не целится в жертву напрямую. Вместо этого он пользуется уязвимостью на сайте, который посещает жертва, чтобы заставить сайт передать вредоносный JS. В браузере жертвы этот JS будет казаться полноправной частью сайта, и в результате сайт действует как невольный союзник злоумышленника.

 

Читать статью полностью...



JMeter - JDBC - как рвать коннекшин после каждого запроса
2019-12-24 11:41

Добрый день.

 

Целевая система при запросах в оракловую базу открывает новое соединение для каждой серии запросов (в 99.9% сессия содержит ровно один запрос, т.е. каждый запрос идет в новой оракловой сессии) ЖМетер же в коробочной версии пытается делать все запросы каждого вузера в одной сессии. Кто посоветует наиболее кошерный способ как его заставить закрывать сессию после получения ответа и открывать новую при отправке сообщения. Шаманства с настройками JDBC конфигов и самплеров не помогли. Подозреваю что нужно курить в сторону пост-реквест экшинов и beans/jsr кода, но инструмент для меня новый (до этого плотно сидел на стеке ALM/PC) и прогресс идет сложно.

 

Леша

 

P.S. подспудный вопрос - целевое приложение использует binded variables в PL\SQL коде и вызов переменных через ":" 

Насколько я понял из курения доков по ораклу использование ":" позволяет "зафиксировать" план исполнения запросов данного типа (т.е. ораклу не придется каждый раз придумывать каким образом данный запрос исполнять, что в свою очередь уменьшит нагрузку на базу. Пропихивание же параметров в тело запроса JDBC Request'ов по моему разумению данную функциональность реализовывать не будет, а значит тестирование не будет валидным. 

 

У кого нить есть идеи какими коробочными средствами можно реализовать поддержку таких запросов? Или как в предыдущем примере уходит в чистую яву в плане логики, а jmeter-у оставить только управление потоками?



[Опрос] Зарплаты в тестировании ПО, 2019
2019-12-24 22:54
Я еще успеваю в 2019 год))

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

Беларусь - https://forms.gle/zYfLRB1wnD1DzcHM7
Россия - https://forms.gle/yoBxCTc5635iEtoE8
Украина - https://forms.gle/CizyUeu9ybC9v7oC9

2018 можно увидеть по ссылке - https://www.software-testing.ru/library/around-testing/job/2906-salary-results-2018

P.S. Первый раз не участвую в собственном опросе)) Ушел из тестирования, но остался рядом)

Comaqa Spring 2019: UI-тестирование
2019-12-25 10:54

Публикуем подборку докладов с конференции Comaqa Spring 2019, посвященную тестированию на уровне UI.

  1. 1. Если UI/API автоматизация уже не штырит... – Алексей Калашников, EPAM Systems (Минск).
  2. 2. Как сделать E2E UI-тесты iOS-приложения зелёными, много и на pull request-ах – Артём Разинов, Авито (Москва).
  3. 3. JDI Free Open Source tool mastery. Как писать автотесты быстро, легко и непринужденно, используя Силу Джедая – Роман Иовлев (Санкт-Петербург).
  4. 4. Как быстро стартовать Автоматизацию тестирования используя семейство JDI Free Open Source tools – Роман Иовлев (Санкт-Петербург).

Читать статью полностью...



© 2010 | Software-Testing.Ru


В избранное