{"id":159,"date":"2026-02-26T16:06:56","date_gmt":"2026-02-26T16:06:56","guid":{"rendered":"https:\/\/sites.nd.edu\/softwaretesting\/?page_id=159"},"modified":"2026-02-26T17:15:12","modified_gmt":"2026-02-26T17:15:12","slug":"system-testing","status":"publish","type":"page","link":"https:\/\/sites.nd.edu\/softwaretesting\/testing-types\/system-testing\/","title":{"rendered":"System Testing"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"114\" height=\"98\" src=\"https:\/\/sites.nd.edu\/softwaretesting\/files\/2026\/02\/System-Testing.jpg\" alt=\"\" class=\"wp-image-161\" style=\"aspect-ratio:1.1632913410939245;width:163px;height:auto\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><em>What Is System Testing?<\/em><\/strong><\/h2>\n\n\n\n<p><strong>System testing<\/strong> is the phase of testing where the <strong>entire, fully integrated application<\/strong> is evaluated as a complete system to verify that it meets defined functional and non-functional requirements.<\/p>\n\n\n\n<p>Unlike unit and integration testing, which focus on components and interfaces, system testing validates <strong>end-to-end behavior<\/strong> from the user\u2019s perspective in an environment that closely resembles production.<\/p>\n\n\n\n<p>System testing confirms that the fully integrated application meets requirements and is ready for business validation.<\/p>\n\n\n\n<table id=\"tablepress-9\" class=\"tablepress tablepress-id-9\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Why It Matters<\/th><th class=\"column-2\">Who Performs It<\/th><th class=\"column-3\">When It Occurs<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\"><ul><li>Confirms the application works as a <strong>complete solution<\/strong><\/li><li>Verifies proper implementation of requirements before business users are involved<\/li><li>Detects defects missed in earlier testing stages<\/li>Reduces risk prior to User Acceptance Testing (UAT)<li>Builds confidence that the system is ready for real-world use<\/li><\/ul>Many critical issues, such as workflow gaps or data inconsistencies, are only visible when the entire system is exercised together.<\/td><td class=\"column-2\"><ul><li>Testers<ul><li>Supported by developers for defect resolution and by business analysts for requirement clarification<\/li><\/ul><\/li><\/ul><\/td><td class=\"column-3\"><ul><li>When System Testing Occurs<\/li><li>After successful integration testing<\/li><li>Before User Acceptance Testing (UAT)<\/li><li>In a stable, production-like environment<\/li><li>Repeated after major changes or releases<\/li><\/ul><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-9 from cache -->\n\n\n\n<h2 class=\"wp-block-heading\"><strong><em>Typical System Testing Techniques<\/em><\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>End-to-End (E2E) Testing<\/strong>\n<ul class=\"wp-block-list\">\n<li>Verifies complete user workflows across the system.<\/li>\n\n\n\n<li><em>Purpose<\/em>: Ensure workflows function as intended from start to finish.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Requirement-Based Testing<\/strong>\n<ul class=\"wp-block-list\">\n<li>Test cases are derived directly from functional and non-functional requirements.<\/li>\n\n\n\n<li><em>Purpose<\/em>: Ensure all documented requirements are met.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Scenario-Based Testing<\/strong>\n<ul class=\"wp-block-list\">\n<li>Tests realistic business scenarios rather than isolated features.<\/li>\n\n\n\n<li><em>Purpose<\/em>: Validate the system supports real-world usage patterns.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Negative Testing<\/strong>\n<ul class=\"wp-block-list\">\n<li>Validates system behavior when invalid actions or data are used.<\/li>\n\n\n\n<li><em>Purpose<\/em>: Ensure the system fails gracefully and securely.<\/li>\n\n\n\n<li><em>Examples<\/em>:\n<ul class=\"wp-block-list\">\n<li>Invalid input values<\/li>\n\n\n\n<li>Unauthorized access attempts<\/li>\n\n\n\n<li>Missing required data<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Non-Functional Testing<\/strong>\n<ul class=\"wp-block-list\">\n<li>Performed to validate system characteristics beyond functionality.<\/li>\n\n\n\n<li><em>Purpose<\/em>: Ensure the system is usable, secure, and reliable.<\/li>\n\n\n\n<li><em>Includes<\/em>:\n<ul class=\"wp-block-list\">\n<li>Performance testing (response times, throughput)<\/li>\n\n\n\n<li>Security testing (basic vulnerability validation)<\/li>\n\n\n\n<li>Compatibility testing (browsers, devices)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Regression Testing<\/strong>\n<ul class=\"wp-block-list\">\n<li>Re-tests existing functionality after fixes or enhancements.<\/li>\n\n\n\n<li><em>Purpose<\/em>: Ensure new changes do not break existing behavior.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><em>Key Takeaways<\/em><\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>System testing validates the <strong>entire system<\/strong><\/li>\n\n\n\n<li>It is the last technical validation before UAT<\/li>\n\n\n\n<li>Focus is on end-to-end workflows and requirements<\/li>\n\n\n\n<li>Most defects found here impact multiple components<\/li>\n\n\n\n<li>Strong system testing reduces UAT failures and release risk<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What Is System Testing? System testing is the phase of testing where the entire, fully integrated application is evaluated as a complete system to verify that it meets defined functional and non-functional requirements. Unlike unit and integration testing, which focus on components and interfaces, system testing validates end-to-end behavior from the user\u2019s perspective in an [&hellip;]<\/p>\n","protected":false},"author":4975,"featured_media":0,"parent":43,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-159","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sites.nd.edu\/softwaretesting\/wp-json\/wp\/v2\/pages\/159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.nd.edu\/softwaretesting\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sites.nd.edu\/softwaretesting\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sites.nd.edu\/softwaretesting\/wp-json\/wp\/v2\/users\/4975"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.nd.edu\/softwaretesting\/wp-json\/wp\/v2\/comments?post=159"}],"version-history":[{"count":4,"href":"https:\/\/sites.nd.edu\/softwaretesting\/wp-json\/wp\/v2\/pages\/159\/revisions"}],"predecessor-version":[{"id":194,"href":"https:\/\/sites.nd.edu\/softwaretesting\/wp-json\/wp\/v2\/pages\/159\/revisions\/194"}],"up":[{"embeddable":true,"href":"https:\/\/sites.nd.edu\/softwaretesting\/wp-json\/wp\/v2\/pages\/43"}],"wp:attachment":[{"href":"https:\/\/sites.nd.edu\/softwaretesting\/wp-json\/wp\/v2\/media?parent=159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}