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

Вам необходимо вызвать wvBikeSite.setWebViewClient, например:

    MyWebViewClient wvc = new MyWebViewClient();
    wvBikeSite.setWebViewClient(wvc);

Где MyWebViewClient переопределяет shouldOverrideUrlLoading, а именно:

private class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}
5
задан Paul Morie 29 May 2009 в 22:03
поделиться

2 ответа

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

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

Агент обработки - это программное обеспечение, сетевая карта, машина, которая фактически обрабатывает запрос и возвращает результат.

Однако то, что вы делаете с результатами, определяет тип выполняемого теста, а именно:

Тестирование нагрузки / производительности : это наиболее часто используемый тест. Результаты обрабатываются, чтобы увидеть, сколько обрабатывается на разных уровнях или в различных конфигурациях. И снова то, что Курт ищет выше, является примером этого.

Тестирование баланса : Обычной практикой при масштабировании является использование агента балансировки нагрузки, который направляет запросы агенту процесса. Настройка такая же, как для нагрузочного тестирования, но цель - проверить распределение запросов. В некоторых сценариях вам необходимо убедиться, что достигается равномерный (или настолько близкий к приемлемому) баланс запросов между агентами обработки, а в других сценариях вам необходимо убедиться, что агент процесса, который обработал первый запрос для определенного запрашивающего обрабатывает все последующие запросы (обычно такие веб-фермы необходимы).

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

Граничное тестирование : Это похоже на нагрузочное тестирование, за исключением того, что целью является не производительность обработки, а то, сколько хранится, влияет на производительность.

4
ответ дан 14 December 2019 в 13:45
поделиться

Я могу добавить еще один тип тестирования к списку Роберта: впитывающее тестирование . Вы выбираете достаточно тяжелую тестовую нагрузку, а затем запускаете ее в течение длительного периода времени - если ваши тесты производительности обычно длятся час, запускайте ее на ночь, весь день или всю неделю. Вы следите как за правильностью, так и за работоспособностью. Идея состоит в том, чтобы обнаруживать любые проблемы, которые медленно нарастают с течением времени: утечки памяти, упаковка, случайные взаимоблокировки, необходимость перестроения индексов и т. Д.

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

2
ответ дан 14 December 2019 в 13:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: