Software testing involves various levels—Unit, Integration, System, and Acceptance—each serving a specific purpose in enabling quality. These levels are not just theoretical concepts; they help shape meaningful conversations about testing and inform your decisions about which tests to apply in different contexts.
This activity invites you to explore one or more testing levels or types, reflecting on their unique characteristics and practical applications. By exploring these levels, you’ll gain a broader understanding of their role in the overall testing process.
Activity steps:
Research a testing level or type:
Choose one or more testing levels—Unit, Integration, System, or Acceptance—or another testing type that interests you. Use blogs, articles, or personal experience as resources.
Share your findings:
Write a short summary of what you learned, addressing these questions:
What makes this testing level or type unique?
How does it fit into the overall testing process?
What challenges might it address?
Add an Example:
Provide a real or hypothetical example to show how this level or type can be applied in practice. For instance, you could describe testing a login feature at the Unit level or performing System testing on a shopping cart feature.
Hello @cassandrahl ,
Find the below core concepts
Unit Testing:
focus on individual components or functions in isolation
The challenges they face:
Localized code defects are identified and corrected early
Individual code units can now be integrated into the whole before they actually get integrated
Make debugging and maintenance easier with code.
Example: A login validation function checks for password length and complexity.
Integration Testing:
Evaluation of the interaction between two different modules or components.
The challenge it hopes to solve:
Interface and communication problems are expected to turn up between parts of the whole system.
Its seeing components how they stream the data and along with that their compatibility.
Some things just show themselves only during testing of units as individuals.
Example: A user authentication module wants to test how it communicates with a database authentication service.
System Testing:
Screening seeks to check the entire software system as an overall system.
The challenges they solve:
Validating the function of the system and the performance overall.
Ensuring that the delivery system meets all the specified requirements.
Identifying workflow issues and architectural issues from end to end.
Example: Complete e-commerce including user registration, product browsing, cart management, and payment processing.
Acceptance Testing:
Validating the system as per the business requirements and expectations of each user.
The challenges addressed:
Confirming how well this software achieves the needs of the customer
Functional and non-functional requirements verification.
It confers that the product is delivered.
Example: User acceptance testing of a banking application to confirm that all features function as expected by end-users.
Meanwhile, all levels of testing performed within the software quality assurance system form an essential part of direct software quality assurance, addressing diverse problems from the system under test in order to develop reliable software.
Unique as it gives you an idea of how the system will work in terms of functionality. It’s a good chance to test processes end to end, and making sure everything works together, usually in a Staging environment.
How does it fit into the overall testing process? Before user acceptance testing- need to check the functional (e.g. does it let me add item to cart & pay) and non functional e.g. usability, does it fit well on different screen sizes etc before it goes out to the stakeholder/customer
What challenges might it address?
Catching inconsistencies with the page sending data e.g. data sent from page via API and the API returning back to the page the incorrect result
Environment specific bugs that wasn’t picked up during Static testing thus risk mitigation by testing the system as a whole.
Example
Adding an expense claim and submitting it for approval to be reimbursed.