Рубрика «тестирование» - 85

Всем хороши ApiController'ы, да не создают они WSDL и нельзя просто так взять и получить proxy. Да, ApiController'ы неплохо тестируются unit-test'ами. Но юниты пропускают ошибки транспортного уровня и в целом без парочки end-to-end сценариев как-то неудобно. Можно конечно смириться, взять HttpClient и написать примерно такой код:

HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:56851/");

// Add an Accept header for JSON format.
client.DefaultRequestHeaders.Accept.Add(
    new MediaTypeWithQualityHeaderValue("application/json"));

HttpResponseMessage response = client.GetAsync("api/User").Result;

if (response.IsSuccessStatusCode)
{
    var users = response.Content.ReadAsAsync&
    <IEnumerable<Users>>().Result;
    usergrid.ItemsSource = users;

}
else
{
    MessageBox.Show("Error Code" + 
    response.StatusCode + " : Message - " + response.ReasonPhrase);
}

Но как же это муторно каждый раз лезть в описание контроллеров, проверять типы, короче хочется вот так:

var resp = GetResponse<SomeController>(c => gc.SomeAction(new Dto{val = "123"}));

Как выяснилось, это вполне можно реализовать применив немного уличной магии деревья выражений
Читать полностью »

Обязанность каждого специалиста – это не просто качественное выполнение своей работы, но и исключительное внимание к мельчайшим деталям. А у тестировщика это и вовсе является основой профессии. Стоит проигнорировать мельчайший нюанс – и вот, требуемого уровня качества уже не достичь. Не раз в своей профессии мне приходилось сталкиваться с тем, когда ошибки были далеко не на поверхности – будь ум чуть менее пытливым, и выловить их было бы нереально. И тем больше удивляют люди, которые могут проявлять такую внимательность, что ей позавидовал бы любой. Рассмотрим несколько примеров подобных людей.
Читать полностью »

Введение

Данная статья ориентирована в первую очередь на технических специалистов, из области обеспечения качества и производительности программных продуктов. В статье подробно представлена информация о возможностях высокопроизводительного варианта логирования Apache JMeter в базу Oracle. Разработка использовалась в боевых условиях на проектах нагрузочного тестирования, которые проводились сотрудниками компании ООО «Перфоманс Лаб».
Представленное решение позволяет обеспечить централизованное хранение результатов нагрузочных тестов, в которых используется JMeter, а так же значительно сократить время на обработку и анализ результатов тестирования.
Для инженера теперь будет доступен весь функционал СУБД Oracle для работы с данными. Читать полностью »

Написано по просьбам из соседнего топика — Как мы тестируем поиск в Яндексе. Screenshot-based тестирование блоков результатов

Использование скриншотов для тестирования

История про глубокий рефакторинг.

В нашем приложении был один модуль, реализованный на заре бизнеса. Модуль был реализован используя отличные от других модулей патерны, во всю эксплуатировал глобальные переменные, состоял из более чем сотни javascript файлов, которые были тесно связаны друг с другом. Малоизвестный фреймворк, на базе которого был сделан модуль, больше не использовался нигде. В результате, исправление ошибок или добавление новой функциональности занимало у команды в 2-3 раза больше времени, по сравнению с другими модулями. В связи с грядущими изменениями функциональности назрела острая необходимость отрефакторить этот немаленький модуль.
Читать полностью »

Сразу скажу, что опытным программистом откровения не будет, грабли тривиальные.
Все знают, что в моделях недопустимо использовать суперглобальные массивы $_POST, $_SESSION, $_SERVER и т.д., поскольку это делает невозможным усложняет тестирование кода и его повторное использование. Но если суперглобальные массивы, всё-таки, при желании можно «хакнуть» (разумеется это уже за гранью добра и зла), то другую менее очевидную зависимость от глобального окружения — уже никак.
Я говорю о времени — такую зависимость вы добавляете в свой код, когда используете в php-модели time() ( date() без аргумента timestamp) или в MySql-запросе now() (sysdate в Oracle). «Хакнуть» время сервера, чтобы узнать как поведет себя ваш запрос завтра или вчера — задача нетривиальная.
Как это происходит.
Читать полностью »

Приглашаем принять участие во второй в этом году онлайн конференции для тестировщиков и инженеров по качеству — Test Labs. Если в марте наше внимание было сосредоточено на автоматизации тестирования, тот в этот раз мы решили немного расширить темы и представить вашему вниманию доклады посвящённые эффективности автоматизированного тестирования, а также управлению тестированием на сложных проектах.

Тематические направления докладов:

  • Создание автономной системы автоматического регрессионного тестирования;
  • Нагрузочное тестирования в сжатые сроки;
  • Использование на практике простых метрик тестирования.

И другие…
Читать полностью »

В данном обзоре чехол-батарея рассматривается больше с пользовательской точки зрения. Цифры и картинки будут, но не так много. Гораздо больше будет впечатлений и некоторых не совсем очевидных откровений.

Тех, кому интересен чехол-батарея для Nexus 4 или другие батареи от Mugen Power — прошу под кат*.

<кдпв>image</кдпв>

*под катом три с половиной тысячи букв, четыре фотографии, три из которых сделаны на плохонькую камеру айпода, и половинка скриншота с самого нексуса
Читать полностью »

Автоматические тесты в облакеЕсли вы хоть немного тестируете, то знаете, как не просто создать среду с новым билдом для проверки. Если решение не сложное, то можно сделать все руками — стерли старые файлы, почистили реестр, базу, скопировали новый билд. Но если у вас серьезное многозвенное решение, то лучше, чтобы все операции были автоматизированы. Так можно уменьшить влияние человеческого фактора. Если вы обнаружите проблему, то достаточно поправить скрипты чтобы устранить ошибки и запустить всё заново. В Team Foundation Server входит полный комплект инструментов для организации Lab Management – среды управления тестовыми окружениями. Интересным является то что вы можете организовать лабораторию тестирования без всяких инфраструктурных инвестиций. Все что для этого необходимо – уже есть в Azure и Team Foundation Service. Это тот самый случай новомодного IaaS когда вы смело можете вынести часть инфраструктуры в облако.
Читать полностью »

Как можно вручную протестировать API? Наоборот, если есть API, чем плохи модульные тесты? При разработке API nanoCAD-а мы столкнулись с тем, что не весь API можно протестировать при помощи модульных тестов — часть API неразрывно связана с пользовательским интерфейсом и интерактивным взаимодействием с пользователем.

В этой статье мы расскажем о том, как мы тестировали API вручную, через какие стадии автоматизации мы прошли, и какой подход позволил нам создать надёжные и легко поддерживаемые автотесты.

Универсальный автотест, или как мы автоматизировали ручные тесты API в nanoCAD

По мотивам доклада на конференции SQA Days-12.Читать полностью »

Тестирование инсталляторов: Автоматизируем вход в WindowsДопустим, мы выбрали удовлетворяющий нас инструмент(и тут я имею в виду не только ту штуку из прошлой статьи, но и вменяемые инструменты навроде TFS etc), даже заставили его делать какую-то часть работы за нас. Мы смогли автоматизировать установку продукта и вот уже казалось, что счастье, оно — вот, протяни руку и… обнаружь, что на последнем этапе инсталляции нам необходимо пережить перезагрузку системы. А может быть даже в последствии загрузиться под ограниченной учетнойдоменнойпрочей записью. А если не повезло настолько, что Ваш продукт — изменяет msgina.dll, то… да-да, я имею в виду, что нам надо влезть под winlogon и автоматизировать вход учетной записи. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js