Changes for page Testing

Last modified by chrisby on 2024/06/20 14:42

From version 2.8
edited by chrisby
on 2023/05/29 16:15
Change comment: There is no comment for this version
To version 2.1
edited by chrisby
on 2023/05/28 22:58
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,18 +1,7 @@
1 -=== Foreword ===
1 +* **Ultimate Goal**: Reduce costs and increase productivity.
2 +* **Definition 'Production Code':** Represents the actual software functionality designed to fulfill project requirements.
3 +* **Definition 'Test Code':** Often referred to as "tests," is written to verify the functionality of production code.
2 2  
3 -(% style="text-align: justify;" %)
4 -The chapters presented here are a concise summary of more theoretical and high-level knowledge. It is recommended that you are familiar with writing very basic tests and mocks, and understand the concepts of polymorphism and [[dependency injection>>doc:Software Architecture.Dependency Injection.WebHome]] before reading on.
5 -
6 -=== ===
7 -
8 -=== General ===
9 -
10 -* **Ultimate Goal** of testing: Reduce costs and increase productivity. Development with testing is faster and safer than without.
11 -* **Definition 'Production Code':** Code that provides functionality to meet project requirements.
12 -* **Definition 'Test Code':** Often referred to as "tests", it is written to verify the correct functionality of the production code.
13 -
14 -=== ===
15 -
16 16  === Benefits of Testing ===
17 17  
18 18  * **Quality Assurance**
... ... @@ -22,16 +22,6 @@
22 22  * **Testable Design**
23 23  ** Writing tests automatically enforces design best practices, resulting in a 'testable design' and higher quality code. Good code and architecture are testable, and vice versa.
24 24  * **Documentation**
25 -** Tests serve as the most current form of code documentation, capturing the expected behavior of the production code in its present state.
26 -
27 -=== ===
28 -
29 -=== What should be tested? ===
30 -
31 -(% style="text-align: justify;" %)
32 -Every functionality you expect the software to provide at any moment. You should test:
33 -
34 -* **Use Cases**
35 -** Use cases defined in project requirements
36 -** Lower-level use cases derived from the high-level project use cases. For example, expected behavior of functions, classes, modules, and components that users of the software do not see.
37 -* **Border cases** that could theoretically always occur, such as maximum/minimum values, nulls, invalid input, nulls, negative numbers, empty lists, values with special meaning, exceptions, etc.
14 +** (((
15 +Tests serve as the most current form of code documentation, capturing the expected behavior of the production code in its present state.
16 +)))