0% found this document useful (0 votes)
58 views8 pages

Unit 4

System testing evaluates the overall functionality and performance of a fully integrated software solution, ensuring it meets specified requirements before delivery. It involves various processes including test environment setup, test case creation, execution, and defect reporting, and encompasses both functional and non-functional testing. Acceptance testing follows system testing to confirm the software aligns with user needs and business requirements, with different types like User Acceptance Testing and Business Acceptance Testing to validate the product's readiness for release.

Uploaded by

sneha chaudhari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views8 pages

Unit 4

System testing evaluates the overall functionality and performance of a fully integrated software solution, ensuring it meets specified requirements before delivery. It involves various processes including test environment setup, test case creation, execution, and defect reporting, and encompasses both functional and non-functional testing. Acceptance testing follows system testing to confirm the software aligns with user needs and business requirements, with different types like User Acceptance Testing and Business Acceptance Testing to validate the product's readiness for release.

Uploaded by

sneha chaudhari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Software Testing

Unit 4
System testing is a type of software testing that evaluates the overall functionality and
performance of a complete and fully integrated software solution. It tests if the system meets
the specified requirements and if it is suitable for delivery to the end-users. This type of testing
is performed after the integration testing and before the acceptance testing.

4.1 What is System Testing ?

System Testing is a type of software testing that is performed on a completely integrated


system to evaluate the compliance of the system with the corresponding requirements. In
system testing, integration testing passed components are taken as input.
 The goal of integration testing is to detect any irregularity between the units that are
integrated. System testing detects defects within both the integrated units and the whole
system. The result of system testing is the observed behavior of a component or a system
when it is tested.
 System Testing is carried out on the whole system in the context of either system
requirement specifications or functional requirement specifications or the context of both.
System testing tests the design and behavior of the system and also the expectations of the
customer.
 It is performed to test the system beyond the bounds mentioned in the software
requirements specification (SRS) . System Testing is performed by a testing team that is
independent of the development team and helps to test the quality of the system impartial.
 It has both functional and non-functional testing. System Testing is a black-box testing .
System Testing is performed after the integration testing and before the acceptance testing.

System testing is evergreen role in software engineering because every software is needed to
test and very update is needed to test so the demand of the software tester is always needed. If
you wish to learn software testing from the scratch and want to grab a good grip on testing
tools and concept you can check our new software testing course

Mrs.Sneha D. Patil(Asst.Prof./E&C Dept./KCES’s COEM,Jalgaon] Page 1


Software Testing

4.2 System Testing Process

System Testing is performed in the following steps:


 Test Environment Setup: Create testing environment for the better quality testing.
 Create Test Case: Generate test case for the testing process.
 Create Test Data: Generate the data that is to be tested.
 Execute Test Case: After the generation of the test case and the test data, test cases are
executed.
 Defect Reporting: Defects in the system are detected.
 Regression Testing: It is carried out to test the side effects of the testing process.
 Log Defects: Defects are fixed in this step.
 Retest: If the test is not successful then again test is performed.

4.3 Types of System Testing

 Performance Testing: Performance Testing is a type of software testing that is carried out
to test the speed, scalability, stability and reliability of the software product or application.
 Load Testing: Load Testing is a type of software Testing which is carried out to determine
the behavior of a system or software product under extreme load.
 Stress Testing: Stress Testing is a type of software testing performed to check the
robustness of the system under the varying loads.
 Scalability Testing: Scalability Testing is a type of software testing which is carried out to
check the performance of a software application or system in terms of its capability to scale
up or scale down the number of user request load.

4.4 Tools used for System Testing


1. JMeter
2. Gallen Framework
3. HP Quality Center/ALM
4. IBM Rational Quality Manager
5. Microsoft Test Manager
6. Selenium

Mrs.Sneha D. Patil(Asst.Prof./E&C Dept./KCES’s COEM,Jalgaon] Page 2


Software Testing

7. Appium
8. LoadRunner
9. Gatling
10. JMeter
11. Apache JServ
12. SoapUI
Note: The choice of tool depends on various factors like the technology used, the size of the
project, the budget, and the testing requirements.

 Advantages of System Testing


 The testers do not require more knowledge of programming to carry out this testing.
 It will test the entire product or software so that we will easily detect the errors or defects
which cannot be identified during the unit testing and integration testing.
 The testing environment is similar to that of the real time production or business
environment.
 It checks the entire functionality of the system with different test scripts and also it covers
the technical and business requirements of clients.
 After this testing, the product will almost cover all the possible bugs or errors and hence the
development team will confidently go ahead with acceptance testing
 Verifies the overall functionality of the system.
 Detects and identifies system-level problems early in the development cycle.
 Helps to validate the requirements and ensure the system meets the user needs.
 Improves system reliability and quality.
 Facilitates collaboration and communication between development and testing teams.
 Enhances the overall performance of the system.
 Increases user confidence and reduces risks.
 Facilitates early detection and resolution of bugs and defects.
 Supports the identification of system-level dependencies and inter-module interactions.
 Improves the system’s maintainability and scalability.

 Disadvantages of System Testing


 This testing is time consuming process than another testing techniques since it checks the
entire product or software.
 The cost for the testing will be high since it covers the testing of entire software.
 It needs good debugging tool otherwise the hidden errors will not be found.
 Can be time-consuming and expensive.
 Requires adequate resources and infrastructure.
 Can be complex and challenging, especially for large and complex systems.
 Dependent on the quality of requirements and design documents.
 Limited visibility into the internal workings of the system.
 Can be impacted by external factors like hardware and network configurations.

Mrs.Sneha D. Patil(Asst.Prof./E&C Dept./KCES’s COEM,Jalgaon] Page 3


Software Testing

 Requires proper planning, coordination, and execution.


 Can be impacted by changes made during development.
 Requires specialized skills and expertise.
 May require multiple test cycles to achieve desired results.

4.4 Acceptance Testing

Acceptance Testing is an important aspect of Software Testing, which guarantees that


software aligns with user needs and business requirements. The major aim of this test is to
evaluate the compliance of the system with the business requirements and assess whether it is
acceptable for delivery or not.

 What is Acceptance Testing?


It is formal testing according to user needs, requirements, and business processes conducted to
determine whether a system satisfies the acceptance criteria or not and to enable the users,
customers, or other authorized entities to determine whether to accept the system or not.
Acceptance Testing is the last phase of software testing performed after System Testing and
before making the system available for actual use.

Flow of Acceptance Testing


4.5 Types of Acceptance Testing

Here are the Types of Acceptance Testing


1. User Acceptance Testing (UAT)
2. Business Acceptance Testing (BAT)
3. Contract Acceptance Testing (CAT)
4. Regulations Acceptance Testing (RAT)
5. Operational Acceptance Testing (OAT)

Mrs.Sneha D. Patil(Asst.Prof./E&C Dept./KCES’s COEM,Jalgaon] Page 4


Software Testing

6. Alpha Testing
7. Beta Testing

1. User Acceptance Testing (UAT)


 User acceptance testing is used to determine whether the product is working for the user
correctly.
 Specific requirements which are quite often used by the customers are primarily picked for
testing purposes. This is also termed as End-User Testing.

2. Business Acceptance Testing (BAT)


 BAT is used to determine whether the product meets the business goals and purposes or not.
 BAT mainly focuses on business profits which are quite challenging due to the changing
market conditions and new technologies, so the current implementation may have to being
changed which results in extra budgets.

3. Contract Acceptance Testing (CAT)


 CAT is a contract that specifies that once the product goes live, within a predetermined
period, the acceptance test must be performed, and it should pass all the acceptance use
cases.
 Here is a contract termed a Service Level Agreement (SLA), which includes the terms
where the payment will be made only if the Product services are in-line with all the
requirements, which means the contract is fulfilled.
 Sometimes, this contract happens before the product goes live.
 There should be a well-defined contract in terms of the period of testing, areas of testing,
conditions on issues encountered at later stages, payments, etc.

Mrs.Sneha D. Patil(Asst.Prof./E&C Dept./KCES’s COEM,Jalgaon] Page 5


Software Testing

4. Regulations Acceptance Testing (RAT)


 RAT is used to determine whether the product violates the rules and regulations that are
defined by the government of the country where it is being released.
 This may be unintentional but will impact negatively on the business. Generally, the
product or application that is to be released in the market, has to go under RAT, as different
countries or regions have different rules and regulations defined by its governing bodies.
 If any rules and regulations are violated for any country then that country or the specific
region then the product will not be released in that country or region.
 If the product is released even though there is a violation then only the vendors of the
product will be directly responsible.

5. Operational Acceptance Testing (OAT)


 OAT is used to determine the operational readiness of the product and is non-functional
testing.
 It mainly includes testing of recovery, compatibility, maintainability, reliability, etc. OAT
assures the stability of the product before it is released to production.

6. Alpha Testing
 Alpha testing is used to determine the product in the development testing environment by a
specialized testers team usually called alpha testers.

7. Beta Testing
 Beta testing is used to assess the product by exposing it to the real end-users, typically
called beta testers in their environment.
 Feedback is collected from the users and the defects are fixed. Also, this helps in enhancing
the product to give a rich user experience.

4.6 Use of Acceptance Testing


1. To find the defects missed during the functional testing phase.
2. How well the product is developed.
3. A product is what actually the customers need.
4. Feedback help in improving the product performance and user experience.
5. Minimize or eliminate the issues arising from the production.

 Advantages of Acceptance Testing


1. This testing helps the project team to know the further requirements from the users directly
as it involves the users for testing.
2. Automated test execution.
3. It brings confidence and satisfaction to the clients as they are directly involved in the testing
process.

Mrs.Sneha D. Patil(Asst.Prof./E&C Dept./KCES’s COEM,Jalgaon] Page 6


Software Testing

4. It is easier for the user to describe their requirement.


5. It covers only the Black-Box testing process and hence the entire functionality of the
product will be tested.

 Disadvantages of Acceptance Testing


1. Users should have basic knowledge about the product or application.
2. Sometimes, users don’t want to participate in the testing process.
3. The feedback for the testing takes a long time as it involves many users and the opinions
may differ from one user to another user.
4. Development team is not participated in this testing process.

4.7 What is Functional Testing?


Functional testing is a type of software testing in which the system is tested against the
functional requirements and specifications. Functional testing ensures that the requirements or
specifications are properly satisfied by the application. This type of testing is particularly
concerned with the result of processing. It focuses on simulation of actual system usage but
does not develop any system structure assumptions. It is basically defined as a type of testing
which verifies that each function of the software application works in conformance with the
requirement and specification. This testing is not concerned about the source code of the
application. Each functionality of the software application is tested by providing appropriate
test input, expecting the output and comparing the actual output with the expected output.
4.8 What is Non-functional Testing?
Non-functional testing is a type of software testing that is performed to verify the non-
functional requirements of the application. It verifies whether the behavior of the system is as
per the requirement or not. It tests all the aspects which are not tested in functional testing.
Non-functional testing is defined as a type of software testing to check non-functional aspects
of a software application. It is designed to test the readiness of a system as per nonfunctional
parameters which are never addressed by functional testing. Non-functional testing is as
important as functional testing.

4.9 Below is the difference between functional and non-functional testing:


Functional Testing Non-functional Testing

It verifies the operations and actions of an


It verifies the behavior of an application.
application.

It is based on requirements of customer. It is based on expectations of customer.

It helps to enhance the behavior of the It helps to improve the performance of the

Mrs.Sneha D. Patil(Asst.Prof./E&C Dept./KCES’s COEM,Jalgaon] Page 7


Software Testing

Functional Testing Non-functional Testing

application. application.

Functional testing is easy to execute It is hard to execute non-functional testing


manually. manually.

It tests what the product does. It describes how the product does.

Functional testing is based on the business Non-functional testing is based on the


requirement. performance requirement.

Examples: Examples:
1.Unit Testing 1. Performance Testing
2.Smoke Testing 2. Load Testing
3.Integration Testing 3. Stress Testing
4. Regression Testing 4. Scalability Testing

Mrs.Sneha D. Patil(Asst.Prof./E&C Dept./KCES’s COEM,Jalgaon] Page 8

You might also like