Changes for page Test Speedup

Last modified by chrisby on 2025/03/08 11:39

From version 1.5
edited by chrisby
on 2023/07/10 20:33
Change comment: There is no comment for this version
To version 1.1
edited by chrisby
on 2023/05/29 18:32
Change comment: There is no comment for this version

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -Software Engineering.Testing.WebHome
1 +Software Architecture.Testing.WebHome
Content
... ... @@ -1,8 +1,9 @@
1 -Fast-executing tests require less time and are executed more frequently, contributing to improved code quality. Therefore a high test execution speed is beneficial.
1 +Fast-executing tests require less time and are executed more frequently, contributing to improved code quality. Therefore a high test execution speed is important.
2 2  
3 3  
4 4  === Measures ===
5 5  
6 +* **General code optimizations** such as faster algorithms, data types, etc.
6 6  * **Test type segregation**: Unit tests typically run much faster than other types of tests. For large test suites, consider running unit tests regularly on the developer's local machine, while scheduling more resource-intensive tests to run at a fixed rate in a continuous integration environment, for example.
7 7  * **Partial testing**: You don't have to run all tests every time. Often, it is sufficient to run only the tests related to recently changed code.
8 8  * **Mock slow dependencies** to minimize code execution time, especially operations such as I/O, transaction management, and networking.
... ... @@ -9,7 +9,7 @@
9 9  * **Prefer in-memory databases during testing** for cleaner and faster operations compared to standard databases.
10 10  * **Identify performance bottlenecks** by increasing the number of threads:
11 11  ** If execution time remains constant, CPU is the bottleneck. Mitigate with faster CPUs, more cores, or additional machines.
12 -** If execution time decreases, I/O is the bottleneck. Use more threads, faster storage (such as SSDs), or additional storage for concurrent persistence operations.
13 +** If execution time decreases, I/O is the bottleneck. Use more threads, faster memory (such as SSDs), or additional storage.
13 13  * **Improve I/O speed by using RAM disks**, such as Linux's tmpfs tool. Configure your tests to direct all file interactions to the RAM disk.
14 14  * **Parallelize test execution.** Multiple threads can improve execution speed even on single-core processors by keeping the CPU busy while other threads wait for disk I/O.
15 15  * **Offload CPU-intensive tasks** to cloud-based computing resources: