負載測試專案成功的5個關鍵要素
最近看到這篇文件:
Critical Success Factors for Load Test Projects
http://www.portata.com/successfactors.htm
介紹了負載測試專案成功的5個關鍵的因素,摘記如下:
Planning(計劃)
As with any project, the planning stage is the most critical to the project's success. For load testing projects, the planning stage is even more critical. Load testing involves more parts of an organization than any other activity in application development.
參考 SEI負載測試計劃過程:
http://www.portata.com/seiplanningprocess.htm
Staff Skills(測試人員掌握的技術)
Load testers need a variety of skills including many skills that functional testers usually do not have.
Experience(經驗). Load testers need in-depth knowledge about load testing and how to use the load test tools. The load test team should have at least one member who has run several successful load test projects.
Test Tool Certifications(測試工具認證). Some tool vendors have load test tool certifications. Though the certifications are not a substitute for experience, they indicate that the load testers at least understand how the tools work.
Application(熟悉被測試的應用程式). Load testing does not require as much knowledge of the application as functional testing does. In functional testing the testers cover every function, but in load testing the testers will execute just a few common paths through the application. However, the load testers should have some operational knowledge of the application to be tested or at least have access to a knowledgeable application user.
Application Usage(熟悉應用程式的使用). The intent of load testing is to emulate what real users will be doing with the application when it is deployed. Therefore, the load testers must also have access to someone who knows how the application is actually used in production or can at least make an informed estimate. That person will supply information about how users typically accomplish a particular task, how often tasks are performed, and how many users perform the tasks.
Systems(系統方面的知識). Load testers must have a good working knowledge of the software and hardware components of the application. These components may include web servers, application servers, database servers, operating systems, networks and network elements such as load balancers. The load testers need not have "guru" level knowledge of each of the components but should have operational knowledge and an understanding of the performance issues associated with the components. For example, a load tester should know what multi-way joins, indexes and spin counts are and what affect they have on a database server.
Protocols(通訊協議方面的知識). Load tests are usually driven at the protocol level instead of the GUI level. This allows load generation machines to emulate many users. Load testers should understand the protocol(s) used at the point where the load test tool interfaces with the application to be tested. For web applications this is typically between the web browser and the web server. For load testing web applications a load tester should know both HTTP and HTML. Other commonly used protocols are SQL*Net, ODBC, and DCOM.
Communication(溝通能力). Load testers will work with many parts of an organization to coordinate activities, schedules and resources. Load testing is not a heads down coding exercise. Daily interaction with a variety of people requires good oral and written communication skills as well as good people skills.
If the load testers do not have sufficient communication and people skills, the project will require more management time to handle the planning, coordination and communication.
Support Staff(支援人員)
The load testers must have access to DBAs, application server administrators, network administrators, and system administrators. They are used on an as-needed basis to set up the test environment, provide access to the components, solve problems, and monitor the load test runs.
Load Test Lab(負載測試實驗室)
Test Servers(測試伺服器). Management usually will not allow load tests to be performed on productions systems since the high load levels would interfere with production activities. Also, production activities may skew the load test results.
Unlike a lab for functional testing, a load test lab must be configured the same as the production environment in terms of component capacity and speed, otherwise the load test may not be accurate or even meaningful. For example, if a production machine has four CPUs then the test lab should be configured with a four CPU test machine.
Often it is cost prohibitive to duplicate the full production system in the test lab. Some possible workarounds are to use the production equipment in the test lab prior to deployment or to use the production infrastructure during off-business hours. Equipment can be rented or leased but there is typically a long leadtime for acquisition and set up so plan accordingly.
Databases(資料庫、測試資料). The database(s) in the test lab must be preloaded with either a copy of production data or dummy data that is similar in size and content to the production data. Databases that are too small will tend to give erroneously fast results and can obscure table scan and index problems.
Load Test Tools(負載測試工具的選擇). Load test tools range from the low-end URL pingers to commercial-grade multi-protocol load generation and monitoring systems. Most applications that are worth load testing include business critical functions and dynamic data, which require the higher end tools.
The important features to have in a load test tool are:
- Ability to parameterize data.
- Ability to capture dynamic data and use on subsequent requests.
- Application infrastructure monitoring.
- Support for the application's protocols.
The load test tools are not inexpensive, so allocate sufficient budget during the budget planning process.
Load Test Monitoring(負載測試監控)
Response time measurements indicate whether you have a problem and how bad it is, but they do not tell you why you have a problem, what the root cause is, or how to get rid of it. For that information you need to monitor the individual components in the application architecture. The components may include a web server, application server, database server, network and network elements such as firewalls, operating systems and server hardware.
The better load test tools have built-in monitors which measure the various components in real-time and report results verses the load levels applied at the time. If the load test tool that you will be using has the capability to monitor, the tool may require that monitoring agents be installed on the components and/or authorizations be granted to access the components in real time. If the tool does not have this capability, you must make provisions for staff to manually monitor the key components and integrate the results.
相關文章
- ERP專案成功實施的三大關鍵要素
- BPM治理的5個關鍵要素 - leonardo
- AI專案成功的4要素AI
- 敏捷測試關鍵成功因素敏捷測試
- 敏捷專案管理關鍵及一些關鍵要素敏捷專案管理
- TRIZ專案成功的關鍵是什麼?
- 談談資料質量管理中的5個關鍵要素
- 軟體專案項管理成功的關鍵因素
- 軟體專案成功的關鍵:最佳化資源分配
- 新起典|夜間旅遊專案成功要素
- 5G切片:成功實施的4個關鍵原則
- 專案管理中7個重中之重的要素專案管理
- (一)效能測試(壓力測試、負載測試)負載
- 為什麼說人員管理是成功交付專案的關鍵?
- 揭秘華為如此多成功專案的產品關鍵——Charter模板
- 新起典| 成功的文旅專案需要具備哪些要素
- 開源的負載測試/壓力測試工具 NBomber負載
- 負載,效能測試工具-Gatling負載
- 談談制定資料戰略的7個關鍵要素
- 成功的軟體釋出的三個要素
- 介面測試,負載測試,併發測試,壓力測試區別負載
- 成功的旅遊景點夜遊專案應該具備哪些要素
- 專案管理計劃制定的四個關鍵步驟專案管理
- 成功管理多專案的9個策略
- 效能測試、負載測試、壓力測試有什麼區別?負載
- 關鍵點檢測專案程式碼開源了!
- 使用Kubernetes的5個關鍵點!
- 50%企業資料治理失敗 這9大要素才是成功關鍵
- Locust 進行分散式負載測試分散式負載
- 資料之巔,制勝未來:金融行業資料中臺五大關鍵成功要素(附下載)行業
- 專案衝測5
- 多 AI 智慧體系統- AI 智慧體的 6 個關鍵要素AI智慧體
- 專案管理中需要注意的四個關鍵控制點專案管理
- 多通道負載測試和效能評估?負載
- jmeter壓力測試實現負載均衡JMeter負載
- Python求職怎麼樣?面試成功的關鍵技巧分享Python求職面試
- 掌握這七個專案管理策略,助你成功交付專案專案管理
- Jmeter測試工具的實際專案測試案例JMeter
- 成功的專案歸功於成功的專案管理,它幫你踏上成功之旅!專案管理