Changes for page Testing in eMagiz

Last modified by Erik Bakker on 2024/08/08 11:24

From version 29.1
edited by Erik Bakker
on 2024/08/08 11:23
Change comment: There is no comment for this version
To version 10.1
edited by Bouke Reitsma
on 2023/07/05 10:52
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ebakker
1 +XWiki.BoukeReitsma
Content
... ... @@ -1,5 +1,5 @@
1 1  {{container}}{{container layoutStyle="columns"}}(((
2 -In this fundamental, we will explore the various testing functionalities available within the eMagiz portal. We will delve into different types of testing, including unit testing, regression testing, performance testing, and end-to-end testing, and discuss how these testing methods are integrated within the eMagiz platform. Let's dive into the details of each testing method and understand how they can be effectively applied to ensure the efficiency and reliability of your integrations.
2 +In this fundamental we discuss different testing methods available in software development and discuss how these methods can be used and/or implanted within the platform. Testing in eMagiz can already be done within the Create phase and within deployed integrations via the Deploy and Manage phases. After reading this fundamental you should be able to understand the concepts of different testing methods and how these are incorporated within the eMagiz platform.
3 3  
4 4  Should you have any questions, please get in touch with [[academy@emagiz.com>>mailto:academy@emagiz.com]].
5 5  
... ... @@ -16,75 +16,52 @@
16 16  
17 17  == 3. Testing in eMagiz ==
18 18  
19 -Here we will investigate the testing functionality incorporated within the eMagiz portal. We will focus on different aspects of testing that can be executed at different moments within the development of your integrations. We cover four different types of testing that are part of software testing in general and explain them on a conceptual level. For each test, we also discuss how those are integrated within the portal and where to find further explanations on applying those tests within eMagiz.
19 +This fundamental will zoom in on the testing functionality incorperated within the eMagiz portal. We will focus on different aspects of testing which can be executed at different moments within the development in your integrations. We cover four different types of testing which are part of software testing in general and explain them on a conceptual level. For each test we also discuss how those are integrated within the portal and where to find further explanation on applying those test within eMagiz.
20 20  
21 -=== 3.1 Unit testing ===
21 +=== 3.1 Unit Testing ===
22 22  
23 -Unit testing is a common practice within software platforms. Usually, developers perform unit tests during development. It entails testing individual integrations or the components within an integration, such as transformations or mappings. The unit test aims to test early within the development process to identify and fix issues early before they become more complex and costly to find and solve.
23 +Unit testing is a common practice within software platforms. Usually, unit tests are performed by developers during development. It entails testing individual integrations or the components within an integration, such as transformations or mappings. The unit test aims to test early within the development process to identify and fix issues early before they become more difficult and costly to find and solve.
24 24  
25 -Within eMagiz, we have a dedicated unit testing functionality called "flow testing." One of the key benefits of flow testing is that your integration does not have to be deployed. Therefore, findings can be easily implemented during development. eMagiz supports live testing of certain components to test communication with external systems. More information on flow tests can be found in the following microlearnings:
25 +Within eMagiz, we have a dedicated unit testing functionality called "flow testing." One of the key benefits of flow testing is that your integration does not have to be deployed. Therefore, findings can be easily implemented during development. eMagiz supports certain components' live testing to test communication with external systems. More information on flow tests can be found in the following microlearnings:
26 26  
27 -* [[Understanding Flow Testing>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-understanding-flowtesting||target="blank"]]
28 -* [[Configuring Flow Testing>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-configuring-flow-test||target="blank"]]
29 -* [[Create Test Message(s)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-creating-test-messages||target="blank"]]
30 -* [[Running A Flow Test>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-running-flow-test||target="blank"]]
31 -* [[Edit Test Message(s)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-editing-test-messages||target="blank"]]
32 -* [[Deleting Test Message(s)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-deleting-test-messages||target="blank"]]
27 +* [[Crash Course Platfrom>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.WebHome||target="blank"]]
33 33  * [[Testing API Gateway>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Testing API Gateway.intermediate-testing-emagiz-api-gateway-testing-api-gateway||target="blank"]]
34 34  
35 -=== 3.2 Regression Testing ===
30 +=== 3.2 Data Sink ===
36 36  
37 -Another testing method used within software development is regression testing. Regression tests ensure that existing functionality is not impacted by newly developed functionality. Running these tests is crucial to preventing unexpected negative changes for customers. Regression tests can be applied on different levels, from individual functionality to the whole platform.
32 +On top of the standard Manage functionality in eMagiz, you can acquire additional functionality that allows you to sink data at any given point in the flow into a bucket hosted by eMagiz. We advise you to do this twice per integration. Once when the message enters the eMagiz platform and once the message leaves the eMagiz platform. By providing a unique identifier (i.e., an order number), you can search through this data for maximum 180 days (minimum 30 days) to determine whether a specific message with a particular identifier is indeed received and/or delivered by eMagiz in the Manage phase of eMagiz. See below for an illustration of this functionality.
38 38  
39 -The main functionality within the eMagiz platform to perform regression testing on your integrations is called "Automated flow testing." There is an option to automate every flow test. When a flow test is automated, it will run all automated flow tests once a new version is committed. If the test fails, you will be notified of the flow level and get an overview of the result on release activation. More information can be found in the microlearning:
34 +[[image:Main.Images.Fundamental.WebHome@fundamental-traceability-in-emagiz--data-sink-view-manage.png]]
40 40  
41 -* [[Regression Testing>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Testing in eMagiz.intermediate-testing-in-emagiz-regression-testing.WebHome||target="blank"]]
36 +[[image:Main.Images.Fundamental.WebHome@fundamental-traceability-in-emagiz--data-sink-search-options.png]]
42 42  
43 -=== 3.3 Performance Testing ===
38 +[[image:Main.Images.Fundamental.WebHome@fundamental-traceability-in-emagiz--data-sink-search-results.png]]
44 44  
45 -A third method for testing is the performance test. Within a performance test, not the content is important but the amount of load you test on your test subject. In the case of integrations, it means, in general, the number of messages sent over a certain integration. Normally, your production environment handles more load than a test or acceptance environment. With a performance test, you can estimate how much impact a new integration has on resources, such as CPU or memory usage of the runtimes within your environment. More information on how to configure the solution architecture of your model can be found in this microlearning:
40 +For more information on data sink please check out the following [[Data sink>>doc:Main.eMagiz Academy.Microlearnings.Advanced Level.Data Management.advanced-data-management-data-sink||target="blank"]]
46 46  
47 -* [[Intermediate Solution Architecture>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Solution Architecture.WebHome||target="blank"]]
48 -* [[Advanced Solution Architecture>>doc:Main.eMagiz Academy.Microlearnings.Advanced Level.Solution Architecture.WebHome||target="blank"]]
42 +However, in some cases, there are additional legal requirements you need to meet. These legal requirements require you to prove for an extended period (i.e., seven years) that a specific message was sent at a particular moment in time. For this requirement, we have the long-term archiving functionality in eMagiz.
49 49  
50 -{{warning}} Performance testing on the eMagiz or documentation portal is **not** allowed. {{/warning}}
44 +==== 3.3 Long Term Archiving ====
51 51  
52 -=== 3.4 End-To-End Testing ===
46 +The long-term archiving functionality is an expansion of the data sink functionality. By adding a specific tag to the logic within the flow, the data will be placed in the data sink and placed in our long-term archiving solution. In this solution, we will keep the data for a standard period of seven years before deleting the data from the long-term archiving solution. This allows you to retrieve chunks of data from the long-term archiving via a ticket request in our support portal. As a result, we will provide you with the requested data promptly.
53 53  
54 -The last testing option discussed in this fundamental is a user acceptance test or End-to-End test. In this test, not only developers or testers but also end-users or other people from the business side are involved. Therefore, this testing method is more functionally focused than the previously discussed tests. A User Acceptance test aims to let the business (users) accept the solution created. Normally, this is the last step before pushing the solution to production.
48 +For more information on data sink please check out the following [[Long term archiving>>doc:Main.eMagiz Academy.Microlearnings.Advanced Level.Data Management.advanced-data-management-long-term-archiving||target="blank"]]
55 55  
56 -All the previously mentioned eMagiz functionality helps you complete an End-to-End test or solve issues found within the test effectively. More information on this testing method can be found in the microlearning:
57 -
58 -* [[User Acceptance Testing>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Testing in eMagiz.intermediate-testing-in-emagiz-user-acceptance-testing||target="blank"]]
59 -
60 60  == 4. Key takeaways ==
61 61  
62 -* There are different testing methods with different goals
63 -* Not every testing method can be done at any stage of development
64 -* For every testing method, eMagiz has documentation and when possible features to support testing
52 +* Each eMagiz model has a standard Manage phase in which statistics are kept on your environment
53 +* With these statistics, you can determine whether messages have been received by and sent by eMagiz
54 +* This functionality does not allow you to see the content of the messages itself
55 +* On top of that, eMagiz offers Data Sink and long term Archiving as additional licensed features
56 +* Data sink is helpful for an Ops scenario to check whether a specific message is processed by eMagiz (Traceability)
57 +* Long term archiving is helpful for legal purposes as it gives you the option to prove for seven years that a specific message is sent at a specific time (Compliancy)
65 65  
66 66  == 5. Suggested Additional Readings ==
67 67  
68 -If you are interested in this topic and want to learn more on how testing can be done within the eMagiz platform, please check out our microlearnings on testing in eMagiz:
61 +If you are interested in this topic and want to learn how you can control your Cloud with the help of the eMagiz platform, please check out our microlearnings offering on eMagiz Cloud Management:
69 69  
70 -* [[Crash Course (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]]
71 -** [[Crash Course Platform (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course Platform||target="blank"]]
72 -*** [[Understanding Flow Testing (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-understanding-flowtesting||target="blank"]]
73 -*** [[Configuring Flow Testing (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-configuring-flow-test||target="blank"]]
74 -*** [[Create Test Message(s) (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-creating-test-messages||target="blank"]]
75 -*** [[Running A Flow Test (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-running-flow-test||target="blank"]]
76 -*** [[Edit Test Message(s) (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-editing-test-messages||target="blank"]]
77 -*** [[Deleting Test Message(s) (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-deleting-test-messages||target="blank"]]
78 -* [[Intermediate Level (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]]
79 -** [[Testing In eMagiz (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Testing in eMagiz||target="blank"]]
80 -*** [[Regression Testing (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Testing in eMagiz.intermediate-testing-in-emagiz-regression-testing.WebHome||target="blank"]]
81 -*** [[User Acceptance Testing (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Testing in eMagiz.intermediate-testing-in-emagiz-user-acceptance-testing||target="blank"]]
82 -** [[Testing API Gateway (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Testing API Gateway.WebHome||target="blank"]]
83 -*** [[Testing API Gateway (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Testing API Gateway.intermediate-testing-emagiz-api-gateway-testing-api-gateway||target="blank"]]
84 -** [[Intermediate Solution Architecture (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Solution Architecture.WebHome||target="blank"]]
85 -* [[Advanced Level (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]]
86 -** [[Advanced Testing in eMagiz (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Advanced Level.Testing in eMagiz.WebHome||target="blank"]]
87 -** [[Advanced Solution Architecture (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Advanced Level.Solution Architecture.WebHome||target="blank"]]
88 -* [[Testing (Search Result)>>url:https://docs.emagiz.com/bin/view/Main/Search?highlight=true&r=1&sortOrder=desc&f_space_facet=2%2FMain.eMagiz%20Academy.Microlearnings.&sort=score&text=%22testing%22&f_type=DOCUMENT&facet=true&f_locale=en&f_locale=&f_locale=en||target="blank"]]
63 +* [[Crashcourse Messaging>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Messaging.crashcourse-messaging-interpreting-queue-statistics||target="blank"]]
64 +* [[Data sink>>doc:Main.eMagiz Academy.Microlearnings.Advanced Level.Data Management.advanced-data-management-data-sink||target="blank"]]
65 +* [[Long term archiving>>doc:Main.eMagiz Academy.Microlearnings.Advanced Level.Data Management.advanced-data-management-long-term-archiving||target="blank"]]
89 89  
90 90  )))((({{toc/}}))){{/container}}{{/container}}