{"id":73435,"date":"2025-02-07T10:10:29","date_gmt":"2025-02-07T10:10:29","guid":{"rendered":"https:\/\/peraltafinancing.com\/analytics\/system-tests-an-objective-look-at-the-product\/"},"modified":"2025-02-07T10:10:29","modified_gmt":"2025-02-07T10:10:29","slug":"system-tests-an-objective-look-at-the-product","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=73435","title":{"rendered":"System tests: an objective look at the product"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div id=\"wtr-content\" data-bg=\"#0cacf8\" data-fg=\"#0cacf8\" data-width=\"5\" data-mute=\"\" data-fgopacity=\"1.00\" data-mutedopacity=\"1.00\" data-placement=\"top\" data-placement-offset=\"48\" data-content-offset=\"0\" data-placement-touch=\"top\" data-placement-offset-touch=\"0\" data-transparent=\"1\" data-shadow=\"1\" data-touch=\"\" data-non-touch=\"1\" data-comments=\"0\" data-commentsbg=\"#0cacf8\" data-location=\"page\" data-mutedfg=\"#0cacf8\" data-endfg=\"#f44813\" data-rtl=\"\">\n<p>In this article I will discuss the software tests that can be\u00a0carried out\u00a0at the system level. These tests are an essential link in the continuous integration chain, they may or may not be functional and have very specific characteristics. I will discuss\u00a0best\u00a0practices to be followed and implementation issues, based on the example of system tests of an API.\u00a0So,\u00a0let\u2019s see what the test levels are and what we call a system test.<\/p>\n<h2>The test levels<\/h2>\n<p>In accordance with the recommendations of the ISTQB (<a href=\"https:\/\/www.istqb.org\/\">International Software Testing Qualification Board<\/a>), software tests are classified into different levels. Here are the traditional test levels, which are found in the classic test pyramid:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"245\" src=\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/pyramid-traditional-test-systeme-levels-1.jpg\" alt=\"Pyramid of the traditional system tests\" class=\"wp-image-16046\"\/><\/figure>\n<\/div>\n<ul>\n<li><strong>Unit tests<\/strong> : these tests aim to validate each code unit by isolating it (using stubs, mocks, or fakes\u2026)<\/li>\n<li><strong>Integration tests<\/strong> : these tests focus on communications or message exchanges between different code units<\/li>\n<li><strong>System tests<\/strong> : these tests verify that the different aspects of a complete software system meet the specifications<\/li>\n<li><strong>Acceptance tests<\/strong> : these tests aim to obtain acceptance of the system as a whole by the customer, user or representative.<\/li>\n<\/ul>\n<p>At AT Internet, as our software solution is very extensive and complex, we have chosen to add two levels of testing: <\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"244\" src=\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/pyramid-at-internet-test-system-levels.jpg\" alt=\"Pyramid of At Internet system tests\" class=\"wp-image-16047\"\/><\/figure>\n<\/div>\n<ul>\n<li><strong>Systems integration tests<\/strong> : these tests focus on the exchanges between different systems that make up our solution<\/li>\n<li><strong>Solution tests<\/strong> : these tests validate the proper functioning, as a whole, of our solution, which is composed of different systems <\/li>\n<\/ul>\n<h2>The system tests<\/h2>\n<p>These \u201csystem\u201d tests are the first level of the so-called \u201cblack box\u201d tests, i.e. they are defined on the basis of the product specifications (business rules, performance requirements, etc.) without any access to the source code. The so-called \u201cwhite box\u201d tests, on the other hand, are defined on the basis of the internal structure of the product (architecture, code, code portions, etc.).<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"389\" height=\"245\" src=\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/blackbox-whitebox-test.jpg\" alt=\"Black box and white box tests\" class=\"wp-image-16048\" srcset=\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/blackbox-whitebox-test.jpg 389w, https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/blackbox-whitebox-test-300x189.jpg 300w\" sizes=\"auto, (max-width: 389px) 100vw, 389px\"\/><\/figure>\n<\/div>\n<p>These tests<br \/>\nmust be completely independent of the internal structure of the system<br \/>\n(language and technologies used, implementation details etc\u2026). They must<br \/>\nsimply focus on the inputs and outputs of the system, observing it completely<br \/>\nobjectively. This is what makes them powerful and useful: they then make it<br \/>\npossible to validate a profession or behaviours that are directly perceptible<br \/>\nto the customer.<\/p>\n<p>System<br \/>\ntests are essential when modifying the internal structure of the system<br \/>\n(refactoring, replacing internal components, adding functionalities, etc.):<br \/>\nthey ensure that these modifications do not lead to regressions for customers.<\/p>\n<p>In Agility, we have no other option than to <a href=\"https:\/\/blog.atinternet.com\/en\/rd-behind-the-scenes-combining-testing-agility\/\">automate these tests<\/a>, otherwise<a href=\"https:\/\/blog.atinternet.com\/en\/continuous-integration-code-deliverables-and-environments\/\"> continuous integration<\/a> is compromised by longer delivery times due to manual testing phases that can be endless. I will therefore only deal here with automated system tests.<\/p>\n<p>While unit<br \/>\nand integration tests are essential and must be provided as much as possible,<br \/>\nit is essential to invest in tests at the system level to ensure that the<br \/>\ndesired business is delivered to the customer.<\/p>\n<p>Each<br \/>\nbusiness brick can indeed correctly do what it is designed for, but their<br \/>\nassembly can sometimes lead to peculiar behaviour! On the other hand, the job<br \/>\ncan be respected while parts of the system are sometimes in poor condition,<br \/>\nwhich is still rarer. <\/p>\n<p>System tests are the first tests directly related to the customer\u2019s acceptance criteria in the test process. These tests, if automated, will make it possible to detect possible regressions as early as possible, otherwise there is a risk of unpleasant surprises in later phases of the project: when the system is integrated into the complete solution or worse, at the customer\u2019s or one of their representatives\u2019 premises (product owner for example).<\/p>\n<p>It is then<br \/>\nmuch more expensive to correct the problems detected and the risk of delaying<br \/>\nthe delivery of the project is much greater.<\/p>\n<p>It is not always easy to find the resources to set up and automate this type of test: it requires multiple skills, both in test design and automation development and we are not always lucky enough to have a test developer on the team. In some cases, product developers will be called upon to carry out some of these implementations. <\/p>\n<p>Testing is surely part of the development activities and the responsibility for delivering a product that works is that of the entire team, isn\u2019t it? <\/p>\n<h2>What\u2019s the approach to<br \/>\ntesting a system?<\/h2>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"436\" height=\"284\" src=\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/system-schema-in-out.jpg\" alt=\"Diagram of a system with entries and outpits\" class=\"wp-image-16049\" srcset=\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/system-schema-in-out.jpg 436w, https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/system-schema-in-out-300x195.jpg 300w\" sizes=\"auto, (max-width: 436px) 100vw, 436px\"\/><\/figure>\n<\/div>\n<p>To be able to properly test a system, you must first understand various aspects of our system: <\/p>\n<h3>The system entries<\/h3>\n<p>These are<br \/>\nall triggers for system behaviour. We often think of user actions as obvious<br \/>\ntriggers, but there may be many others. Here are some examples:<\/p>\n<ul>\n<li>A user action<\/li>\n<li>Receipt of notifications<\/li>\n<li>A change in system status<\/li>\n<li>The time that passes (yes, it can trigger actions and it even happens very often: synchronisation mechanisms, task scheduling, etc.)<\/li>\n<\/ul>\n<h3>The system outputs<\/h3>\n<p>We often<br \/>\nthink here of the answer provided to the user but there are other very common<br \/>\noutputs that we do not always think about. For example:<\/p>\n<ul>\n<li>The<br \/>\nanswer to the user<\/li>\n<li>Log<br \/>\nwriting (logs)<\/li>\n<li>Writing<br \/>\ndata to a database<\/li>\n<li>The<br \/>\nissuance of a notification<\/li>\n<\/ul>\n<h3>Expected behaviours (or<br \/>\nbusiness rules)<\/h3>\n<p>We now know<br \/>\nhow to activate the system by playing on its different inputs. We also know<br \/>\nwhat we can observe by looking at the different outings. We then need to know<br \/>\nthe relationships between inputs and outputs. These relationships are described<br \/>\nas system business rules and can take different forms: from the acceptance<br \/>\ncriterion of a user story in Agility to more detailed specifications in other<br \/>\ncontexts.<\/p>\n<p>These more or less formally described behaviours will be used directly to describe the different test cases that will take on the role of system tests.<\/p>\n<h3>Execution contexts <\/h3>\n<p>Some system<br \/>\nbehaviours depend not only on the inputs received but also on the context in<br \/>\nwhich the system is located at the time of the test.<\/p>\n<p>Let\u2019s take<br \/>\nthe example of a call to an API to record new information in the system. We<br \/>\nthen have two cases, with different imaginable behaviours:<\/p>\n<ul>\n<li>The information is already present in the system:\n<ul>\n<li>We store both pieces of information<\/li>\n<\/ul>\n<ul>\n<li>We update existing information<\/li>\n<\/ul>\n<ul>\n<li>We store the history of the information values<\/li>\n<\/ul>\n<\/li>\n<li>The information is not yet available\n<ul>\n<li>We record the information received<\/li>\n<\/ul>\n<ul>\n<li>We don\u2019t do any treatment<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>In both<br \/>\nsituations, the execution context has a direct influence on the expected<br \/>\nbehaviour of the system.\u00a0 This is where<br \/>\nthe test dataset takes on its importance: we will generate the context in which<br \/>\nwe want to be before each test to be able to validate the different behaviours<br \/>\nof our system. We then have a number of combinations of all these elements that<br \/>\nwill constitute our test cases:<\/p>\n<ul>\n<li>A<br \/>\ntest data set<\/li>\n<li>One<br \/>\nor more inputs to \u201cactivate\u201d<\/li>\n<li>Expected<br \/>\nbehaviour<\/li>\n<li>One<br \/>\nor more outputs to be controlled<\/li>\n<\/ul>\n<p>System<br \/>\ntests can then be implemented. This will require the implementation of a test<br \/>\nmechanism that must be able to play on the system inputs and control the<br \/>\nvalidity of its behaviour by observing its different outputs:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"391\" height=\"341\" src=\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/test-mecanic-system-monitoring-in-out.jpg\" alt=\"Test mechanic of the system monitoring\" class=\"wp-image-16050\" srcset=\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/test-mecanic-system-monitoring-in-out.jpg 391w, https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/test-mecanic-system-monitoring-in-out-300x262.jpg 300w\" sizes=\"auto, (max-width: 391px) 100vw, 391px\"\/><\/figure>\n<\/div>\n<p>Depending<br \/>\non the case, this test mechanism is directly made available in tools on the<br \/>\nmarket, depending on the system we want to test:<\/p>\n<ul>\n<li>API tests: SOAP UI, supertest, Postman, etc.<\/li>\n<li>Interface tests: Selenium, Cypress, NightwatchJS, etc.<\/li>\n<\/ul>\n<p>In other<br \/>\ncases, it will be necessary to implement a mechanism adapted to your needs,<br \/>\nwhich must allow you to play with the different inputs and outputs of the system<br \/>\nunder test: <\/p>\n<ul>\n<li>Reading\/writing<br \/>\nin a Kafka topic<\/li>\n<li>Sending<br \/>\n\/ retrieving notifications<\/li>\n<li>Insertion<br \/>\nof data into databases<\/li>\n<li>Receiving<br \/>\nemails<\/li>\n<li>etc.<\/li>\n<\/ul>\n<p>It can be<br \/>\nseen here that the test tool is not linked to the technology used in the system<br \/>\nto be tested. It is often very different and is not related to the information<br \/>\nprocessing needs of the system but rather to the constraints imposed on the<br \/>\nclient(s) of the system.<\/p>\n<p>Non-functional aspects such as performance or resilience can also be tested in system tests, with different techniques and tools depending on the needs.<\/p>\n<h2>Testing an API<\/h2>\n<p>Let\u2019s take<br \/>\nthe concrete example of an API as a system to be tested. The main classics of<br \/>\nPLC validation are, in the order in which the system must check them:<\/p>\n<ul>\n<li>The rights of use of this API\n<ul>\n<li>An unauthorised call can be rejected immediately, regardless of its validity<\/li>\n<\/ul>\n<\/li>\n<li>Parameter validation\n<ul>\n<li>The absence of mandatory parameters<\/li>\n<\/ul>\n<ul>\n<li>The validity of the received parameter combination\n<ul>\n<li>Some parameters may sometimes be incompatible and should not be passed in the same call<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>The format of each parameter\n<ul>\n<li>Type, pattern, permitted\u00a0values,\u2026<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>The consistency of the values received for different parameters\n<ul>\n<li>For example, receiving a sort request on an unsolicited field can sometimes be refused<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Relevance related to the business of the system\n<ul>\n<li>This involves validating the business rules of the system itself. For example, an information request (GET) on a non-existent property can trigger an error, the insertion of a data in the database via the API triggers the receipt of its identifier in return\u2026.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>These<br \/>\noperations are increasingly costly for the system, which must try to return an<br \/>\nerror <u>as soon as possible<\/u> if it is relevant, without initiating the next<br \/>\nsteps, otherwise generating unnecessary load on the servers and thereby<br \/>\naltering non-functional aspects of the system, or even its security.<\/p>\n<p>To design<br \/>\nthese different tests, different design techniques can be used, including limit<br \/>\nvalue analysis, equivalence classes, state transitions, decision tables, etc. <\/p>\n<p>Performance<br \/>\nor safety tests can be considered with different tools such as LOAD UI,<br \/>\nGatling, JMeter, Neoload, for example. In this type of test, we find well-known<br \/>\ntechniques such as:<\/p>\n<ul>\n<li>Injection tests<\/li>\n<li>The fuzz testing<\/li>\n<li>The hammering<\/li>\n<li>The gradual increase in load<\/li>\n<li>\u2026  <\/li>\n<\/ul>\n<p class=\"has-larger-font-size\"><strong>Conclusion<\/strong><\/p>\n<p>I hope I<br \/>\nhave been able to enlighten you on this level of testing, its importance and<br \/>\nhow to get the most out of it. It is also important to keep in mind that<br \/>\ntesting, design and implementation always depend on your context, and \u201cbest<br \/>\npractices\u201d must be continuously analysed, redesigned and interpreted to be<br \/>\napplied to your projects in the best possible way.<\/p>\n<p>It is in<br \/>\nthis spirit that we at AT Internet invest in the implementation of automated<br \/>\nsystem tests, according to the needs of each project and taking into account<br \/>\nthe context of each team. We focus our investments in accordance with our test<br \/>\nstrategy with the objective of ensuring the highest quality of our products for<br \/>\nthe benefit of our customers.<\/p>\n<p>In the next article, I will discuss 10 pitfalls to avoid when setting up system tests.<\/p>\n<p> <em>Featured photo credits:  <\/em><a href=\"https:\/\/unsplash.com\/@markusspiske\"><em>Markus Spiske<\/em><\/a> <\/p>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>In this article I will discuss the software tests that can be\u00a0carried out\u00a0at the system level. These tests are an essential link in the continuous integration chain, they may or may not be functional and have very specific characteristics. I will discuss\u00a0best\u00a0practices to be followed and implementation issues, based on the example of system tests [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12033],"tags":[17741,1463,2345,11326],"dealstore":[],"offerexpiration":[],"class_list":["post-73435","post","type-post","status-publish","format-standard","hentry","category-analytics","tag-objective","tag-product","tag-system","tag-tests"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>System tests: an objective look at the product - Som2ny Network<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fivemor.com\/?p=73435\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"System tests: an objective look at the product - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"In this article I will discuss the software tests that can be\u00a0carried out\u00a0at the system level. These tests are an essential link in the continuous integration chain, they may or may not be functional and have very specific characteristics. I will discuss\u00a0best\u00a0practices to be followed and implementation issues, based on the example of system tests [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=73435\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-07T10:10:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/pyramid-traditional-test-systeme-levels-1.jpg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=73435#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=73435\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"System tests: an objective look at the product\",\"datePublished\":\"2025-02-07T10:10:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=73435\"},\"wordCount\":1754,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=73435#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/pyramid-traditional-test-systeme-levels-1.jpg\",\"keywords\":[\"Objective\",\"Product\",\"SYSTEM\",\"tests\"],\"articleSection\":[\"Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=73435#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=73435\",\"url\":\"https:\/\/fivemor.com\/?p=73435\",\"name\":\"System tests: an objective look at the product - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=73435#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=73435#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/pyramid-traditional-test-systeme-levels-1.jpg\",\"datePublished\":\"2025-02-07T10:10:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=73435#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=73435\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/?p=73435#primaryimage\",\"url\":\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/pyramid-traditional-test-systeme-levels-1.jpg\",\"contentUrl\":\"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/pyramid-traditional-test-systeme-levels-1.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=73435#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"System tests: an objective look at the product\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fivemor.com\/#website\",\"url\":\"https:\/\/fivemor.com\/\",\"name\":\"Som2ny Network\",\"description\":\"Daily Deals\",\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fivemor.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fivemor.com\/#organization\",\"name\":\"Som2ny Network\",\"url\":\"https:\/\/fivemor.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"width\":300,\"height\":86,\"caption\":\"Som2ny Network\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/fivemor.com\"],\"url\":\"https:\/\/fivemor.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"System tests: an objective look at the product - Som2ny Network","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fivemor.com\/?p=73435","og_locale":"en_US","og_type":"article","og_title":"System tests: an objective look at the product - Som2ny Network","og_description":"In this article I will discuss the software tests that can be\u00a0carried out\u00a0at the system level. These tests are an essential link in the continuous integration chain, they may or may not be functional and have very specific characteristics. I will discuss\u00a0best\u00a0practices to be followed and implementation issues, based on the example of system tests [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=73435","og_site_name":"Som2ny Network","article_published_time":"2025-02-07T10:10:29+00:00","og_image":[{"url":"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/pyramid-traditional-test-systeme-levels-1.jpg","type":"","width":"","height":""}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=73435#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=73435"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"System tests: an objective look at the product","datePublished":"2025-02-07T10:10:29+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=73435"},"wordCount":1754,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"image":{"@id":"https:\/\/fivemor.com\/?p=73435#primaryimage"},"thumbnailUrl":"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/pyramid-traditional-test-systeme-levels-1.jpg","keywords":["Objective","Product","SYSTEM","tests"],"articleSection":["Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=73435#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=73435","url":"https:\/\/fivemor.com\/?p=73435","name":"System tests: an objective look at the product - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fivemor.com\/?p=73435#primaryimage"},"image":{"@id":"https:\/\/fivemor.com\/?p=73435#primaryimage"},"thumbnailUrl":"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/pyramid-traditional-test-systeme-levels-1.jpg","datePublished":"2025-02-07T10:10:29+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=73435#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=73435"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/?p=73435#primaryimage","url":"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/pyramid-traditional-test-systeme-levels-1.jpg","contentUrl":"https:\/\/blog.atinternet.com\/wp-content\/uploads\/2019\/12\/pyramid-traditional-test-systeme-levels-1.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=73435#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"System tests: an objective look at the product"}]},{"@type":"WebSite","@id":"https:\/\/fivemor.com\/#website","url":"https:\/\/fivemor.com\/","name":"Som2ny Network","description":"Daily Deals","publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fivemor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fivemor.com\/#organization","name":"Som2ny Network","url":"https:\/\/fivemor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","width":300,"height":86,"caption":"Som2ny Network"},"image":{"@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","caption":"admin"},"sameAs":["https:\/\/fivemor.com"],"url":"https:\/\/fivemor.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/73435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=73435"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/73435\/revisions"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=73435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=73435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=73435"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=73435"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=73435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}