The Role of Quality Assurance in Project Delivery

Project Managers know the traditional project management triangle of scope, schedule, and budget. These three constraints often dominate planning and delivery, but there’s another equally important consideration: quality. A project can deliver everything in the agreed scope, meet its deadline, and stay within budget, yet still fall short if the finished product doesn’t work as intended. This is where Quality Assurance, commonly called QA, becomes part of project delivery.

For websites, QA means making sure the finished product meets its requirements and supports the business activities it was built for. It goes beyond checking whether pages load, buttons work, or the design looks right. A website can appear fully functional while problems go unnoticed behind the scenes, such as a contact form that never delivers a lead, a payment that fails to process, or an integration that sends incorrect information to another system.

When I’m managing a website project, I’m interested in both what visitors experience and what happens behind the scenes to support those interactions. That includes functionality, data accuracy, connected systems, and the business processes that depend on them. A successful form submission message, for example, doesn’t necessarily mean the information reached its intended destination. Testing individual features is useful, but I also want to understand whether those features work together to support the complete business process.

Building a QA Strategy Around What Must Work

A website QA strategy begins with the website’s business purpose and the functions needed to support it. From there, it defines what needs to be tested, how thoroughly, and what results will show that the website meets its requirements. An ecommerce website depends on customers being able to complete purchases, while a lead-generation website needs to capture inquiries and deliver them to the right people. These business requirements give the tests something meaningful to verify.

Beyond The Surface


The thing that is easiest to see is not always the best explanation for what is happening. Look beyond the surface. Consider what allowed it to develop, what keeps it in place, and what the surface explanation leaves out.

Consider a contact form designed to collect sales inquiries. The business requirement is to capture leads, while the functional requirements describe what the form should do, such as collecting required information, validating entries, and sending submissions to Customer Relationship Management software, also known as a CRM, where the sales team can access them. These requirements become acceptance criteria, which describe the conditions a feature must meet to be considered acceptable. Test cases then set out specific scenarios for verifying those conditions. A successful submission should display a confirmation and create an accurate record in the CRM, while an invalid submission, such as one with a missing required field, should display an appropriate error without creating an incomplete lead.

Good test coverage also includes positive, negative, and edge-case scenarios. Positive testing checks whether a feature works with valid information, while negative testing checks how it handles invalid inputs or unsuccessful actions. Edge-case testing examines less common situations, such as unusually long text, special characters, or repeated submissions. Together, these scenarios show how a feature behaves under different conditions. Acceptance criteria establish what successful behavior looks like, and test cases provide the means to verify it.

When I’m reviewing testing requirements, I also pay attention to the business consequences of something going wrong. A critical workflow, such as processing payments or capturing sales leads, may need more extensive testing because a failure could directly affect revenue or operations. A minor visual inconsistency with limited business impact may need less attention, although it still should be evaluated. I want testing priorities to reflect both the likelihood of a problem and the consequences if it occurs, including failures that are unlikely but potentially serious. Setting these expectations early keeps QA built into the project rather than treated as a final check after development is finished.

Understanding Testing Methods and Quality Standards

With those priorities set, the next question is which types of testing will provide the necessary verification. QA covers the broader activities used to build quality into a website throughout development. Quality Control, which is also commonly called QC, focuses on inspecting and testing the work to identify defects. QC is therefore part of the overall QA process, not a separate alternative to it.

Different testing types answer different questions. Functional testing checks whether individual features behave according to their requirements, such as whether a contact form validates information and submits successfully. Integration testing checks whether connected systems exchange information correctly. The same form might work on the website but fail to send the submitted information to the CRM. End-to-end testing goes further by following an entire workflow across the relevant systems, from the visitor’s initial action to the intended business outcome. These approaches overlap, but each provides a different level of verification.

“I want testing priorities to reflect both the likelihood of a problem and the consequences if it occurs, including failures that are unlikely but potentially serious.”

Other testing types focus on when and why functionality needs to be checked. Regression testing verifies that new changes haven’t broken features that previously worked. If a developer updates a checkout page, regression tests might check whether payment processing, discount codes, and order confirmation still function correctly. Smoke testing uses a smaller set of quick checks after a new build or deployment to confirm that essential functionality is operational before more extensive testing begins. User Acceptance Testing, which is commonly referred to as UAT, has business users or clients verify that the website meets their needs and the agreed requirements. A feature can pass technical tests and still fail UAT if it doesn’t support the business process as intended.

Website quality is also evaluated in areas beyond basic functionality. Visual testing checks whether layouts, typography, and other design elements appear correctly, while usability testing evaluates how easily people can navigate the site and complete tasks. A checkout page might match the approved design perfectly and still confuse customers because important instructions are hard to find. Accessibility testing examines whether people with disabilities can use the website, including by navigating with a keyboard or screen reader. Automated accessibility tools can identify some technical issues, but they cannot replace human evaluation of the complete experience.

Other checks focus on technical performance and visibility. Compatibility testing checks behavior across browsers, devices, and screen sizes, while performance testing evaluates loading speed, responsiveness, and behavior under different levels of traffic. Security testing examines how the website protects information and access, including authentication, permissions, and vulnerabilities that could expose data or allow unauthorized actions. Search Engine Optimization, which is commonly called SEO, involves making websites understandable and accessible to search engines, so SEO testing checks elements such as redirects, indexing settings, metadata, and crawlability. Analytics testing verifies that tools such as Google Analytics correctly record visits, events, and conversions.

When I look at the overall QA scope, I want to understand which of these areas are being covered and whether any important checks have been overlooked. A website can work correctly for visitors while search engines struggle to find its content or the business receives inaccurate performance data. Those problems may not be obvious during a basic functional review, which is why the testing approach needs to reflect the website’s actual requirements.

Where Testing Happens

These checks take place in several environments as a website moves toward launch. A development environment is where developers build features, make changes, and perform initial checks. A separate QA or testing environment lets testers verify those changes without interfering with ongoing development. A staging environment is designed to closely resemble the live website, which makes it useful for broader testing, integration checks, and business review before deployment. Production is the live website that actual visitors use.

Work typically moves from development into testing and staging as it becomes ready for broader verification, although teams may organize these environments differently. One thing I pay attention to when preparing for launch is how closely staging reflects the relevant production settings, integrations, and data structures. A payment integration, for example, might work correctly with test credentials but behave differently when connected to the live payment provider. Differences in configurations, permissions, or third-party services can also cause problems that staging never revealed. That’s why controlled smoke testing and monitoring remain important after deployment, even when pre-launch testing succeeded.

How Manual QA Works

Whatever the environment, manual testing means someone interacts with the website and checks whether its behavior matches the requirements. Testers usually work from test cases, which describe the conditions being tested, the actions to perform, and the expected result. For the contact form described earlier, a test case might involve completing the required fields, submitting the form, checking the confirmation message, and verifying that the correct information reached the CRM. The tester records whether the actual result matches the expected result and documents any failures.

Reality Check


A website can pass its functional tests and still fail to support the business processes it was built for. A successful form submission doesn’t guarantee that a lead reached the sales team, just as a completed checkout doesn’t necessarily confirm that an order can be fulfilled. Meaningful QA requires verifying what happens beyond the visible interaction, including the connected systems that support the intended outcome.

Test cases can also cover invalid information, missing fields, unusual inputs, and other situations that might cause problems. Manual QA isn’t limited to following predefined instructions, though. Exploratory testing lets testers investigate the website more freely, trying different interactions and following unexpected behavior to find problems that planned tests might miss. This is particularly useful for usability and for situations where human judgment matters. Business users may also test manually during UAT to confirm that the completed features support their actual work.

When I review manual QA activities, I want to see more than a checklist showing which tests were completed. I’m interested in what was actually verified, what unexpected behavior was discovered, and whether the results support the requirements. When a tester finds a defect, the report should explain what happened, what should have happened, and how to reproduce the problem. Screenshots, browser information, test data, and other relevant details help developers investigate it. After a fix is made, the tester checks whether the original problem is resolved and whether related functionality still works. This combination of planned testing, exploration, defect reporting, and retesting keeps manual QA valuable even when a project uses extensive automation.

How Automated QA Works

Some of those planned checks can be automated, so teams can repeat them without someone performing every step by hand. Automated testing uses software to execute predefined actions and check the results. An automated browser test could open a login page, enter credentials, submit the form, and verify that the correct account page appears. These checks are called assertions, and they determine whether the actual result matches what the test expects. Automated tests can run repeatedly after code changes, which makes them especially useful for regression testing.

Different tools automate different kinds of verification. Playwright, Cypress, and Selenium are commonly used to automate browser interactions, such as completing forms, navigating pages, and checking whether elements appear or behave correctly. Postman is commonly used to organize and run tests of Application Programming Interfaces, also known as APIs, which allow software systems to exchange information. Instead of interacting with the visible website, an API test can send a request directly to a service and check whether it returns the expected response and data. Visual regression tools compare screenshots against approved reference images to catch unexpected changes in appearance, and automated accessibility and auditing tools can flag certain technical problems for further review.

Automation is particularly valuable for tests that are repetitive, stable, and important enough to verify frequently. Login processes, checkout functionality, API responses, and other critical workflows are common candidates. Teams can also connect automated tests to Continuous Integration and Continuous Delivery pipelines, commonly called CI/CD pipelines, where code changes are automatically built, checked, and prepared for release. This allows some problems to be detected earlier instead of relying entirely on a separate testing period.

Automated testing does require ongoing maintenance. Scripts may need updating when page layouts, identifiers, workflows, or API responses change, and reliable results depend on suitable test data and stable environments. Tests that fail inconsistently without an actual product defect are often called flaky tests, and they make it difficult to tell real problems from testing issues. Weak assertions create another risk, because a test might confirm that a button was clicked without checking whether the intended action actually succeeded.

When I’m evaluating whether automation makes sense for a project, I look at how frequently a test needs to be repeated, how stable the functionality is, and what it will take to maintain the test over time. Automating an important workflow can provide considerable value, but only if the test reliably verifies the intended behavior. Otherwise, the team may spend time maintaining scripts without gaining much additional confidence in the website’s quality.

How AI Is Changing QA Testing

AI-assisted testing builds on some of these capabilities by helping teams create, execute, maintain, and investigate tests. Artificial Intelligence, commonly known as AI, can analyze requirements, user stories, or existing functionality and suggest test scenarios, including unusual conditions that might otherwise be overlooked. It can also help create automation scripts by translating written test instructions into code, which reduces some of the manual effort of developing tests. These capabilities can expand test coverage and speed up preparation, but generated scenarios still need to be checked against the actual requirements.

“Testing individual features is useful, but I also want to understand whether those features work together to support the complete business process.”

AI-assisted tools can also help execute and maintain tests. Some systems can interpret natural-language instructions, interact with a website, and attempt tasks such as logging in or submitting forms. Emerging AI agents can go further by choosing actions based on what they observe on the screen rather than following an entirely predefined script. Other tools can suggest updates to automated tests when page elements change, which helps reduce maintenance work. These capabilities vary significantly between products, however, and AI-generated changes still need verification to confirm they haven’t altered what the test was supposed to check.

Another application for AI testing is defect analysis. AI can examine test failures, error logs, screenshots, and other diagnostic information to suggest possible causes or identify patterns across repeated failures. This can help specialists investigate problems more efficiently, but a suggested cause isn’t necessarily the actual cause. AI may misunderstand the website’s intended behavior, generate incorrect assertions, or suggest changes that allow a test to pass without fixing the underlying problem. Sharing production data, customer information, or screenshots with external AI services also requires appropriate privacy and security controls.

When I consider AI-assisted testing, I’m particularly interested in whether it helps the team test more effectively rather than simply producing more tests. A tool that generates dozens of scenarios may be useful, but those scenarios still need to reflect the actual requirements and verify meaningful results. I also want to understand how the team validates AI-generated tests and investigates questionable findings, since a passing result is only useful when the test itself can be trusted.

Manual testing, traditional automation, and AI-assisted testing work best as complementary approaches. Manual testing provides flexibility and human evaluation, automation handles repeatable verification efficiently, and AI can assist with preparation and investigation that previously required more manual effort. The right combination depends on the website’s complexity, the stability of its features, how frequently testing is needed, the available resources, and the business consequences of failure.

Testing the Complete Customer Experience

The value of combining different testing approaches becomes clearer when a business process depends on several connected systems. When I managed a migration from Magento to Shopify Plus for a luxury ecommerce brand, we needed to verify more than the customer’s ability to browse products and complete checkout. The website also had to process payments, create orders, and support fulfillment, with each step depending on the correct information reaching the next system.

To verify these processes, we used several transaction scenarios. We simulated purchases using Shopify’s test payment details to check how orders were created and processed without triggering fulfillment. We also made purchases with real credit cards to verify actual payment processing, then canceled those orders before fulfillment. In another test, we placed an order using test payment details and allowed fulfillment to proceed, resulting in an actual product being shipped and delivered.

For me, these different scenarios illustrate why it’s important to understand exactly what a test is verifying. A successful checkout shows what the customer experienced, while payment testing verifies transaction processing. Checking order records and fulfillment provides evidence that information is moving through connected systems and supporting the intended business outcome. Together, these tests helped us verify the complete purchasing workflow rather than relying on the results of individual features.

Managing Defects and Determining Launch Readiness

Testing results become particularly important when defects need to be evaluated and decisions about releasing the website must be made. Once a defect is documented, it goes through triage, where the team evaluates its impact, assigns responsibility, and determines when it should be addressed. After a fix, QA retests the affected functionality and performs any necessary regression checks to confirm that the correction works without disrupting related features.

What to Remember


  • Test the complete business process. Individual features may work correctly while integrations or other connected systems fail to deliver the intended result.
  • Build QA around business requirements and risks. Prioritize testing based on what the website needs to accomplish, the likelihood of failure, and the potential consequences.
  • Use the right testing approach for the job. Manual testing, automation, and AI-assisted testing offer different benefits and limitations. Their value depends on what they can reliably verify.
  • Evaluate defects in their business context. Technical severity and business priority aren’t always the same. Launch decisions should reflect unresolved risks and the appropriate approvals.
  • Understand what the evidence actually proves. Passing tests and completed checklists don’t guarantee quality. Project Managers need to recognize testing gaps, question uncertain results, and determine when further verification is necessary.

An important part of triage is distinguishing between severity and priority. Severity describes how seriously a defect affects the system, while priority determines how urgently it needs to be addressed based on business impact, frequency, timing, and other considerations. A major technical failure in an administrative feature used infrequently might have high severity but lower immediate business priority. A contact form that appears to work but silently loses customer inquiries, on the other hand, could have high business priority because it directly affects lead generation. Smaller visual or usability defects may be acceptable temporarily, while problems involving payments, security, or critical business functions may justify delaying a release.

When I’m reviewing defects, I pay attention to how the technical severity compares with the actual business impact. A defect can look relatively minor from a technical standpoint but still affect an important business process. Understanding those differences helps me assess which issues require immediate attention and which may be reasonable to address later, depending on the project’s priorities and the authority of the people making those decisions.

These distinctions influence launch readiness, which involves evaluating whether the website has been sufficiently verified and is prepared for live use. Technical testing establishes whether functionality meets its requirements, while UAT provides evidence that the website meets business users’ needs. A go/no-go decision determines whether a release should proceed based on testing results, unresolved defects, business acceptance, and operational readiness. Not every defect must be resolved before launch, but outstanding issues need a clear assessment of their business consequences. Depending on the risks, the appropriate response may be additional testing, further corrections, accepting a known limitation with the necessary approval, or postponing the release.

When I review launch readiness, I focus on whether the available evidence supports the recommended decision, particularly when important functionality or integrations remain unverified. Release approvals may require input from technical, security, business, or client decision-makers, depending on the project. Clear go/no-go criteria help identify which issues require escalation before deployment, while contingency planning establishes recovery options, including urgent fixes or rolling back a release where technically feasible.

After launch, production smoke testing checks that essential functionality works in the live environment, while monitoring helps identify errors, failed transactions, and other operational problems. Some projects also include hypercare, a temporary period of heightened monitoring and support during which new issues receive faster attention. Once the website stabilizes, remaining issues and future testing become part of ongoing maintenance.

Quality Requires Informed Judgment

Effective website QA comes down to understanding what has been verified, what remains uncertain, and whether the evidence supports the decisions being made. A Project Manager doesn’t need to perform every test or possess the technical expertise of every specialist involved, but should understand what the results demonstrate and where important risks remain. That means knowing when additional verification is necessary and when unresolved issues require decisions from the appropriate people. Because websites and their connected systems continue to change, maintaining quality requires the same informed judgment long after the initial launch.

About The Author


Lanre Nunyala is a senior delivery leader with more than 15 years of experience spanning software development, UX, enterprise-scale programs, and business operations. His background combines hands-on technical expertise with strategic execution, cross-functional delivery, and PMO leadership, giving him a practical perspective on organizational behavior, business decision-making, and how complex systems function in the real world.