This article provides insights into one of the tricky 非功能性测试 types that usually gets overlooked during software development lifecycle. 以及bat365官方网站Q-Pros的计划, design and execute various performance evaluation techniques the right way without incurring high cost.
Features and Functionalities supported by a software system is not the only concern. The performance of software application like its response time, 可靠性, 资源使用和可伸缩性确实很重要. The goal of Software 性能测试 is not to find bugs but to eliminate performance bottlenecks.
性能测试 is done to provide stakeholders with information about their application regarding speed, 稳定, 和可扩展性. 更重要的是, 性能测试 in 软件测试 is to uncovers what needs to be improved before the application goes to market. 没有性能测试, software is likely to suffer from issues such as: running slow while several users use it simultaneously, inconsistencies across different operating systems and poor usability.
Software Performance testing will determine whether their software meets speed, 可伸缩性, and 稳定 requirements under expected workloads. Applications sent to market with poor performance metrics due to nonexistent or poor performance testing are likely to gain a bad reputation and fail to meet expected sales and adoption goals.
也, mission-critical applications should be performance tested to ensure that they run for a long period without deviations (i.e. 浸泡测试).
根据 邓恩 & 布拉德斯特里特, 59% of Fortune 500 companies experience an estimated 1.6 hours of downtime every week due to an unhandled high load. Considering the average Fortune 500 company with a minimum of 10,000名员工的工资是每小时56美元, the labor part of downtime costs for such an organization would be $896,每周000, 换算成每年超过4600万美元. 谷歌只有5分钟停机时间.com (19-8月-13) is estimated to cost the search giant as much as $545,000.
- Performance optimization of various products, platforms, devices, and technologies.
- Shifting from conventional models to continuous delivery.
- Limited timelines and budgets while providing high-quality service.
- Maximizing performance of the existing infrastructure.
Most performance problems revolve around speed, response time, load time and poor 可伸缩性. Speed is often one of the most important attributes of an application. 运行缓慢的应用程序(i.e. high time-to-interact) will lose potential users. Performance testing in 软件测试 is done to make sure an app runs fast enough to keep a user’s attention and interest. 下面是一些常见的性能问题:
- Long loading time – Load time is normally the initial time it takes an application to start. 这通常应该保持在最低限度. While some applications are impossible to make load in under a minute, Load time should be kept under a couple of seconds if possible.
- Poor response time – Response time is the time it takes from when a user inputs data into the application until the application outputs a response to that input. 一般来说，这应该非常快. Again, if users wait too long, they lose interest.
- Poor 可伸缩性 – A software product suffers from poor 可伸缩性 when it cannot handle the expected number of users or when it does not accommodate a wide enough range of users.
- Bottlenecking – Bottlenecks are obstructions in a system which degrade overall system performance. Bottlenecking is when either coding errors or hardware issues cause a decrease of throughput under certain loads. Bottlenecking is often caused by one faulty section of code. The key to fixing a bottlenecking issue is to find the section of code that is causing the slowdown and try to tune it. Bottlenecking is generally fixed by either fixing poor running processes or adding additional Hardware. 一些常见的性能瓶颈是:
- 负载测试 – checks the application’s ability to perform under anticipated user loads. The objective is to identify performance bottlenecks before the 软件测试 应用上线.
- 压力测试 – involves testing an application under extreme workloads to see how it handles high traffic or data processing. The objective is to identify the breaking point of an application.
- 浸泡测试 – is done to make sure the software can handle the expected load over a long period of time.
- 峰值检测 – tests the software’s reaction to sudden large spikes in the load generated by users.
- 容量测试 -在容量下测试大容量. of. Data is populated in a database and the overall software system’s behavior is monitored. The objective is to check software application’s performance under varying database volumes.
- 可伸缩性测试 – The objective of 可伸缩性 testing is to determine the software application’s effectiveness in “scaling up” to support an increase in user load. It helps plan capacity addition to your software system. 这对于云托管来说非常重要.