1. I am currently studying jmeter. What should I start with in terms of performance in the initial stage?
Jmeter and LR are currently the preferred tools for performance testing. If you have a learning background in LR, you will get started quickly with Jmeter, focusing on understanding the concepts of threads and processes. The process is similar to that of LR. If not, from an introductory perspective, I suggest you first understand the concepts of common network protocols and operating system threads and processes. Java is ideal for Jmeter, and you can consider understanding some programming basics. PS: In fact, if you use Jmeter to learn the interface test first, you will have a better understanding of performance.
2. What kind of preparations do you need to prepare if you are a computer hardware professional with no basic knowledge and want to switch to this industry?
Computer hardware already possesses basic computer knowledge. It is relatively easy to convert software. You can consider preparing from the following dimensions:
1) First prepare the network and operating system parts that you are good at, The network is mainly an application layer protocol, paving the way for performance and interface testing. The operating system is mainly used to build a test environment
2) It is recommended to be familiar with a programming language. Java or Python are both preferred languages. No proficiency is required. At least you must be able to write simple scripts
3) Find a comprehensive professional software testing book and read it intensively. It must be intensive reading.
4) If possible, it is best to find a project to practice and start with functional testing.
3. Currently doing interface testing, I will still be confused when I advance. I hope you can give me some suggestions. In addition, you When you are in management, what is your general attitude or attitude toward employees? How to train, how to get along, how to assign tasks, control project progress and quality?
This is a big problem, let me pick out some key points:
1) Interface testing is actually a test of the protocol. It is recommended that you start with the network protocol so that you can do a good job in interface testing
2) As for the test management work, I think it varies from person to person. Some people are naturally strong, but some are more peaceful. The most important thing is their own strength. If you are not strong enough, there is a saying that it is like bringing a bear into a nest. This is the reason. It's not important, the entity is important.
3) As for training, getting along, and assigning tasks, these are management rules. The general idea is to use their strengths to make up for their weaknesses. No one is perfect, and most of them feel that they are better than the leader, so let It is more important for every employee to maximize their value and have a sense of accomplishment.
4) Control project progress and quality This is a method issue. There are many ways to control it, such as test version control, defect analysis and other means. You can refer to information on software engineering, agile processes, etc. Hope it helps you
4. Use Loadrunner for stress testing, and the response time is much higher than the actual. Use LR for stress testing, and the average response time is tens of seconds. The actual manual opening of the link is less than 1 second. , the gap is huge. What are the reasons that may cause this problem?
For example, in the picture below, there are only a dozen vusers, and the response time is only ten seconds. However, the actual experience is still very fast. How to solve it?
The initial guess is that the response time is improperly set. For example: you want to record the login script and record the login response time. You insert the transaction function (note that it is a set of functions) into the LR script. ), the response time obtained is 5s, but you can’t feel 1s when you actually log in. Then it may be that the position of your function is wrong, including the time to enter the user name and password, or it may be that your response time function includes thinking time. . You need to adjust the position of the former transaction, or exclude think time in the latter runtime settings. For reference
5. Please tell me how to capture the page elements of the program? Capture page elements like Selenium web? Are there any good tools or methods?
It is recommended to use the Elements option of Chrome developer tools to capture page elements. In addition to using Selenium, you can also consider using QTP (ALM) for automated testing
6. How should software fatigue testing be done?
Generally, pressure testing is done. The pressure testing will vary depending on the project and business. Three types are recommended, one is 80% of the 4H peak pressure; the other is 24H, and the pressure can be controlled at 60p %, and another one is 7*24 hours (some have a constant pressure of 50%, and some have a fluctuating pressure value based on time)
7. What preparations need to be made before doing a stress test on the B/S system? How to analyze a system objectively? I have only been exposed to Loadrunner as a stress testing tool before, so I plan to use Loadrunner, but I am not familiar with it. The settings of the system indicators that need to be done in it seem to be very troublesome, and I don’t know how to analyze the system. In addition to choosing familiar tools, what other preparations are needed before doing a stress test?
It is difficult to explain your question clearly in one or two sentences. Regarding the preliminary preparation work, I can only talk about my humble opinion in the performance testing project:
1) First conduct a preliminary analysis of the requirements, Determine which links require performance testing, that is, where the most stressful points are for your system
2) Look at the existing resources and prepare the environment in advance. It is best to test the environment and the production environment 1: 1 (If you really can’t do it, you should try to get as close as possible. This is very important, otherwise you have to do a proportional conversion)
3) Look at the protocols used by the system under test and various configurations such as operating systems and application servers. Choose a matching testing tool (most WEB system LR can handle it)
4) Смотрите на время.В большинстве случаев времени на тестирование производительности не хватает, поэтому в первую очередь нужно сосредоточиться на тестировании.
8. Как выбрать между Loadrunner и Jmeter?
Все зависит от вашего настроения, шучу~~ Если вы смотрите на основы кода и сети с точки зрения изучения и начала работы, если основы кода и сети хороши, просто используйте Jmeter, чтобы начать , в противном случае для начала лучше использовать LR. С точки зрения корпоративных приложений, какое из них больше подходит и лучше поддерживает тестируемую систему?
Инструменты — это всего лишь формы. Вы можете использовать любой инструмент, чтобы понять основные принципы тестирования производительности.
9. Как обнаружить проблему частого GC в Java?
Пожалуйста, попробуйте использовать профилировщик, чтобы найти аномалии памяти, например, слишком много объектов, созданных за короткий период времени, или большие создание объекта.
10. Я хочу реализовать 50 пользователей для одновременной регистрации и регистрации. Параметризация и итерация настроены. Затем я добавил функцию точки встречи перед функцией входа. Текущие результаты обнаружил, что время входа, возвращаемое после входа пользователя в систему, составляет один раз в минуту, без одновременной регистрации! Пожалуйста, скажи мне почему? Как это решить?
Как насчет того, чтобы сначала удалить место встречи? Запустите одновременно 50 пользователей (одновременные операции могут быть выполнены без установки точки встречи). Если это все еще длится одну минуту, проверьте время транзакции и время размышления. Время транзакции должно быть настроено вами вручную. По умолчанию время обдумывания находится в состоянии запуска. Вы можете проверить это в настройках времени выполнения. Возможно, что 1 минута, которую вы наконец получите, - это время для однократного запуска всего сценария, или результат включает в себя время обдумывания, а не время время приходить одновременно.
11. Как тестируются продукты для флэш-распродаж в электронной коммерции?
Это не сильно отличается от тестирования других продуктов. Основная причина заключается в том, что требования к моменту времени относительно высоки. Вы можете рассмотреть возможность использования функции точки встречи в сценарии теста производительности для достижения параллелизма в том же самом второй.
12. Являются ли стресс-тестирование и тестирование производительности одним и тем же?
Методы классификации разные, и выводов нет.Вообще говоря, тестирование производительности — это общий термин для этого типа тестирования. Я предпочитаю следующий метод классификации
Тестирование производительности (узкий смысл). Метод тестирования производительности заключается в проверке того, соответствует ли производительность системы требованиям конкретной операционной среды путем моделирования бизнес-нагрузки производственных операций и сочетание сценариев использования, требования к производительности производства.
Эталонное тестирование — моделируйте определенное количество пользователей, запускающих одну или несколько служб в определенных программных, аппаратных и сетевых средах, и используйте результаты тестирования в качестве базовых данных для справки в последующих мероприятиях по тестированию.
Нагрузочное тестирование - путем постоянного увеличения нагрузки на тестируемую систему до тех пор, пока показатели производительности не достигнут предела, например, «время отклика» превысит заданный показатель или определенный ресурс не достигнет насыщения.
Стресс-тест — стресс-тест также называется тестом на прочность. Он в основном проверяет пропускную способность сеанса, которую система может обработать в определенном состоянии насыщения, например, когда процессор и память перегружены, и будут ли возникать ошибки в система. . Примечание. Продолжайте работать в течение 2–4 часов при предельном значении около 80%.
Тест конфигурации — метод тестирования конфигурации Путем настройки программного и аппаратного обеспечения тестируемой системы можно понять различные последствия Система Степень влияния на производительность, чтобы найти оптимальный принцип распределения различных системных ресурсов.
Тест надежности — когда система загружена определенной деловой нагрузкой, запустите систему на некоторое время, чтобы определить, стабильна ли система.
Тестирование параллелизма. Метод тестирования параллелизма имитирует одновременный доступ пользователей для проверки наличия взаимоблокировок или других проблем с производительностью, когда несколько пользователей одновременно обращаются к одному и тому же приложению, одному и тому же модулю или записям данных.
PS: Классификация на самом деле не так уж важна. В реальных проектах это часто смешанные приложения
13. Какие еще распространенные сценарии тестирования веб-производительности существуют, помимо одновременного входа в систему?
Сценарий зависит от бизнеса. Например, если вы являетесь сайтом электронной коммерции, вы должны проверить ситуацию с одновременным размещением заказов? ?; если вы являетесь сайтом регистрации больниц, вы должны Проверьте, что несколько человек конкурируют за источник номера врача; Если вы представляете банковскую систему, вам следует рассмотреть возможность одновременного снятия денег несколькими людьми, верно?
14. Какое давление оказывает типичный веб-сайт на миллионы пользователей?
Это зависит от метода расчета. Теоретическая ценность 1 миллиона деловых визитов в день, разделенная на каждую секунду, очень мала, но это не соответствует реальной ситуации.
На основе онлайн-данных мы можем напрямую рассчитать количество пиковых периодов каждый день и соответствующее количество одновременных пользователей
Если система не в сети, вы можете использовать принцип 2/8 , и 80% пользователей сконцентрированы в 20% периода времени, выводится количество деловых посещений
15.В настоящее время я столкнулся с проблемой.При запуске стресс-теста в системе win7, настроенной с 8g и i3, параллелизм всегда не увеличивается и всегда находится на уровне 140. Со временем появятся аномалии, тайм-ауты и другие проблемы. Как это проанализировать? Это из-за проблемы с сервером или компьютером?
Если нагрузка на сервер не увеличивается, вы можете проанализировать ее по следующим параметрам:
Существуют ли ограничения на сетевой трафик,
Сообщает ли сервер базы данных/приложений исключение, если да, проверьте журнал ;
Проверьте состояние мониторинга ресурсов операционной системы, какова загрузка ЦП и достигла ли она 100%
Если есть какие-либо проблемы с производительностью в коде, вы можете вручную получить доступ к системе во время большого одновременного доступа.См. Проверка наличия каких-либо отклонений в бизнесе.
The above is the detailed content of What are the common problems in web performance testing?. For more information, please follow other related articles on the PHP Chinese website!