Name : RAJANPREET KAUR Family name : RAJANPREET KAUR
Student ID: 1824305 Group:
Assignment#1 (20 Mark)
Note: The answers should be summarise in your own language; otherwise it will reduce some marks.
1. What is a software testing?
and which one of the following statement is correct?
a) Software testing can evaluate a system but its components with the intent to find that whether it only satisfies the specified requirements.
b) It involves execution of a software to evaluate only one properties of interest.
c) It helps to identify errors but is not able to fix the gaps or missing requirements.
d) It can check that the actual result matches the expected result.
ANSWER(a): Software Testing is the process of identifying the correctness and quality of software program. The purpose is to check whether the software satisfies the specific requirements, needs and expectations of the customer. In other words, testing is executing a system or application in order to find software bugs, defects or errors. The job of testing is to find out the reasons of appli-cation failures so that they can be corrected according to requirements.
Car manufacturer tests the car for maximum speed, fuel efficiency and safety from crash. These tests later become the part of advertising strategy for car sales.
Ways of Software Testing
1. Manual Testing: Test Cases executed manually.
2. Automation Testing: Testing performed with the help of automation tools.
ANSWER(b): option a is correct.
2. Choose the correct answer:
? Error : It is a system error that produces the incorrect result that produces a failure.
? Bug : The presence of error at the time of execution of the software.
? Fault : Human’s state that caused by an error.
? Failure : Deviation of the software from its expected result. It is an event.
ANWSER : Failure
3. What is SDLC? How many stages does it have? Please describe each one in a brief sentence (using your own word)?
Answer : Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality softwares. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost esti-mates.
• SDLC is the acronym of Software Development Life Cycle.
• It is also called as Software Development Process.
• SDLC is a framework defining tasks performed at each step in the software development pro-cess.
• ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software.
SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall devel-opment process
A typical Software Development Life Cycle consists of the following stages:
Stage 1: Planning and Requirement Analysis : it is the most important and fundamental stage in SDLC. It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, opera-tional and technical areas. Planning for the quality assurance requirements and identification of the risks associated with the project is also done in the planning stage. The outcome of the tech-nical feasibility study is to define the various technical approaches that can be followed to imple-ment the project successfully with minimum risks.
Stage 2: Defining Requirements :Once the requirement analysis is done the next step is to clearly define and document the product requirements and get them approved from the customer or the market analysts. This is done through an SRS (Software Requirement Specification) document which consists of all the product requirements to be designed and developed during the project life cycle.
Stage 3: Designing the Product Architecture :SRS is the reference for product architects to come out with the best architecture for the product to be developed. Based on the requirements speci-fied in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS – Design Document Specification. This DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity, budget and time constraints, the best design approach is selected for the product. A design approach clearly defines all the architectural modules of the product along with its com-munication and data flow representation with the external and third party modules (if any). The internal design of all the modules of the proposed architecture should be clearly defined with the minutest of the details in DDS.
Stage 4: Building or Developing the Product: In this stage of SDLC the actual development starts and the product is built. The programming code is generated as per DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle. Developers must follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers, etc. are used to generate the code. Different high level programming languages such as C, C++, Pascal, Java and PHP are used for coding. The programming language is chosen with respect to the type of software being devel-oped.
Stage 5: Testing the Product: This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. However, this stage refers to the testing only stage of the product where product defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.
Stage 6: Deployment in the Market and Maintenance: Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometimes product deployment happens in stages as per the business strategy of that organization. The product may first be re-leased in a limited segment and tested in the real business environment (UAT- User acceptance testing). Then based on the feedback, the product may be released as it is or with suggested en-hancements in the targeting market segment. After the product is released in the market, its maintenance is done for the existing customer base.
There are various software development life cycle models defined and designed which are fol-lowed during the software development process. These models are also referred as “Software De-velopment Process Models”. Each process model follows a Series of steps unique to its type to en-sure success in the process of software development. Following are the most important and popu-lar SDLC models followed in the industry:
• Waterfall Model
• Iterative Model
• Spiral Model
• Big Bang Model Other related methodologies are Agile Model, RAD Model, Rapid Application Development and Prototyping Models.
4. What is waterfall model? And choose the correct statements:
a) The whole process of software development goes to one joint phases.
b) It is very straight-forward to understand and use
c) The input of one phase acts as the same input for the next phase.
d) It is a linear-sequential life cycle model
Answer (a) : WATERFALL MODEL : The Waterfall life cycle model, also known as the classic or linear-sequential life cycle model, is one of the simplest to understand and use. The Waterfall model is characterized by a series of steps that must be completed in a linear, sequential order. Each phase is completed and verified before development progresses to the next phase.
Following each phase is a formal review process that results in the decision to proceed to the next phase. Testing is performed late in the development process, and phases do not overlap. When one phase is completed, the entire development effort shifts to the next phase. This cascading flow from one phase to another is the basis of the Waterfall model’s name.
Advantages of the Waterfall model : As a formalized approach to software development, the Waterfall model is simple and easy to use. This model can be easy to implement and manage be-cause each phase has a specific purpose, and development occurs in only one phase at a time. The Waterfall model is appropriate for small development projects in which the requirements are well understood.
Disadvantages of the Waterfall model : Although the Waterfall model provides a good introduc-tion to software life cycle models, its usefulness is limited. Due to the rigidity of the model, all re-quirements must be stated explicitly before development begins. If requirements change or are added, the project must start over from the beginning. No working software is developed until very late in the process, and this delay creates a great deal of uncertainty and risk. If errors are made in requirements-gathering or design, they may not be discovered until very late in the im-plementation or testing phases. Due to these issues, the Waterfall model is inappropriate for complex projects. It should not be used for developing object-oriented software, for long-term or ongoing projects, or for projects in which requirements are unknown or subject to change.
ANSWER (b): options b and d are correct.
5. Refer to Waterfall Model Application, choose the correct answer:
a) Requirements are not very well documented or clear and fixed.
b) The project is short.
c) Product definition is unstable.
d) Technology is understood and is statics.
e) Ample resources with required expertise are available to support the product.
f) There are ambiguous requirements.
ANSWER : b and d are correct.
6. What is Iterative SDLC Model? Advantage and disadvantages ?
ANSWER : Iterative Model works on the simplified requirements which are the subsets of the software or application requirements. The product is iteratively enhanced and developed to the final product for deployment. It is called as a “build ” for each iteration. So at each build, design amendments and new functionalities are added to the product. With iterative model, the software is implemented by small portions at a time.
Applications of model Appropriate situations for using Iterative Model in the SDLC :
• Major requirements are defined but them in or details might evolve when time goes.
• New technologies are being used and there is a learning curve for the programmers to learn.
• Resources are limited to do a huge or project as if small project or teammates are in contract rather than permanent.
• Very high risk as the goal of the project might change from time to time.
Advantages and Disadvantages
• Easier to start on a complex project.
• Preview the project periodically.
• Parallel implementation is allowed.
• Project can still be managed like waterfall Model with clear schedule and milestones.
• Easier testing and troubleshooting at each build.
• Support and less costly for scope or requirement change.
• Suitable for huge and core projects.
• Better communication with business user as feedbacks can be gather at each build.
• High risk due to system architecture and designs keep changing.
• Issues might occur for integration of each build.
• More management work to do ensure each build can meet the standard.
• Overlapping implementation could be chaotic.
• Need more involvement of business users.
• Easier but more time is needed for each testing as each testing have to cover all the previous works.
7. Please choose the correct answer (Quality Assurance):
a) It ensures the prevention of error in the process used to make software Application
b) Quality Assurance doesn’t involve in process-oriented activities.
c) The Defects may arises when the Software Application is being developed.
d) None of the above answers
ANSWER : option (a) is correct.
8. What is Quality Control? please briefly explain it in your own words:
ANSWER : A definition of quality control is:
The process of inspecting products to ensure that they meet the required quality standards.
This method checks the quality of completed products for faults. Quality inspectors measure or test every product, samples from each batch, or random samples – as appropriate to the kind of product is produced. The main objective of quality control is to ensure that the business is achiev-ing the standards it sets for itself.
Advantages of Quality Control:
1. Minimal consumer complaints after the goods are delivered
2. Reduced costs (no defects — no need to patch solutions)
3. Performance improvement (QC reveals common errors and allows to avoid them in future)
4. Updates and changes can be introduced to the following projects and plans
Disadvantages of Quality Control:
1. Increased time-to-market
2. More employees needed
9. What is Verification in software testing? please briefly explain it in your own words:
ANSWER : Verification makes sure that the product is designed to deliver all functionality to the customer.
• Verification is done at the starting of the development process. It includes reviews and meetings, walk-throughs, inspection, etc. to evaluate documents, plans, code, require-ments and specifications.
• It answers the questions like: Am I building the product right?
• Am I accessing the data right (in the right place; in the right way).
• It is a Low level activity
• Performed during development on key artefacts, like walkthroughs, reviews and inspec-tions, mentor feedback, training, checklists and standards.
• Demonstration of consistency, completeness, and correctness of the software at each stage and between each stage of the development life cycle.
Advantages of Software Verification :
1. Verification helps in lowering down the count of the defect in the later stages of develop-ment.
2. Verifying the product at the starting phase of the development will help in understanding the product in a better way.
3. It reduces the chances of failures in the software application or product.
4. It helps in building the product as per the customer specifications and needs.
10. What is Static and dynamic Testing? please briefly explain it in your own words:
ANSWER : STATIC TESTING:
Static Testing is type of testing in which the code is not executed. It can be done manually or by a set of tools. This type of testing checks the code, requirement documents and design documents and puts review comments on the work document. When the software is non –operational and in-active, we perform security testing to analyse the software in non-runtime environment. With static testing, we try to find out the errors, code flaws and potentially malicious code in the soft-ware application. It starts earlier in development life cycle and hence it is also called verification testing. Static testing can be done on work documents like requirement specifications, design doc-uments, source code, test plans, test scripts and test cases, web page content.
Dynamic testing is done when the code is in operation mode. Dynamic testing is performed in runtime environment. When the code being executed is input with a value, the result or the output of the code is checked and compared with the expected output. With this we can observe the func-tional behaviour of the software, monitor the system memory, CPU response time, performance of the system. Dynamic testing is also known as validation testing , evaluating the finished product. Dynamic testing is of two types: Functional Testing and Non functional testing.
Types of Dynamic Testing techniques are as follows:
• Unit Testing: Testing of individual modules by developers.. The source code is tested in it.
• Integration Testing: Testing the interface between different modules then they are joined..
• System Testing: Testing performed on the system as a whole.
• Acceptance Testing: Testing done from user point of view at user’s end.
11. The phase in software testing in which individual software modules are combined and tested as a group called:
a) unit testing
b) System testing
c) Alpha Testing
d) Integration testing
ANSWER : option (d) INTEGRATION TESTING is correct.
Name the types of this Software Testing:
ANSWER : Integration testing is one of the type of Dynamic Testing.
12. What is Alpha testing and which one of the Entry Criteria for Alpha testing is true:
a) Delivery of Test summary report
b) Defined and Approved Requirements
c) Testable Code with Appropriate Test Environment
d) Make sure that no more additional features can be included
ANSWER (a): ALPHA TESTING : Alpha testing is a type of testing that is done on an application to-wards the end of a development process when the product is almost in a usable state.
This type of testing does not involve functional testing on the application. Instead, it is a user test-ing on the application in order to understand the user behavior and experience on the application. Normally this test is performed by test engineers, employees and sometimes friends / family members with the aim of trying to emulate around 80% of the customers. While these users test and give their feedback, the development team observes the behavior to check for design issues in the application. Alpha testing is mainly conducted to unveil bugs that might arise due to abrupt errors created by the users, validate the quality state of the software in minimal time and finally propound a build that procures the specifications required. Once this test is executed properly, the software is ready for the next stage, i.e., the beta test. Alpha testing has two phases. The first phase consists of testing by the developers. The software used is either hardware-assisted debug-gers or debugger software. The basic motive is to detect bugs quickly. The second phase of testing is done by the quality assurance team, which ensures that the build works perfectly on the envi-ronment similar to user end.
ANSWER (b) : option (c) is correct.
13. What are the Types of Beta Testing: please explain them in your own word:
ANSWER : Beta testing, which is a type of User Acceptance Testing is among the most crucial software testing, performed before the release of the software. Considered to be a type of field test, beta testing is performed by a group of end users.
Types of Beta Testing:
Beta testing can be categorized into six types, each of which caters to different aspects of the software. These, together, help developers improve the quality of the software and allow them to deliver a product that offer superior user experience. The various types of beta testing are:
1.Open Beta Testing: Open beta testing generally involves the testing of the software product by the large number of the people or target audience, before the final release. Organization decides to make software product open to public on any specific date before its release announcing that specific date. This witnesses the large participation of the public to use and evaluate the software product and accordingly, report the bugs (if any found) to the organization, along with the sugges-tions in order to improve the software quality.
This witnesses the large participation of the public to use and evaluate the software product and accordingly, report the bugs (if any found) to the organization, along with the suggestions in order to improve the software quality.
2.Closed Beta Testing: Contrary to open beta testing, closed beta testing is carried out by the se-lective and limited number of persons, which are being invited by the organization. The software product is not opened to the public.
3.Traditional Beta Testing: In this type of testing, the software product is delivered to the target market and feedback of the users is collected from all aspects. With the assistance of this type of testing the quality of the software is improved and the developers are able to make necessary changes.
4.Public Beta Testing: Similar to open beta testing, in this type of testing also, the product is de-livered to the end users worldwide, with the aid of various online channels available in the world. Moreover, the feedback and evaluated data is also collected through this means, based on which required changes and modifications are implemented by the development team.
5.Technical Beta Testing: Another important type of beta testing, technical beta testing involves delivering the software product to the internal groups of an organization, wherein the data and feedback is provided by the employees of the organization.
6.Focused Beta Testing: As suggested by the name, this type of testing is focused on evaluating and monitoring a specific feature or component of the software. Hence, in focused beta testing, the software is delivered to the market and user’s experience is collected and evaluated to make required changes.
7.Post Release Beta Testing: In post release beta testing, the product is delivered to the market for the use of the end users and their reactions, experience, and feedback is collected for the fu-ture release of the software.
14. Which of the following statements is true:
a) Acceptance Testing is a type of testing to ensure software applications will perform well under their expected workload
b) Poor scalability cannot handle the expected number of users or when it does not accom-modate a wide enough range of users.
c) Performance Testing is conducted by business owners, it tests whether the system does in fact, meet their business requirements.
d) Stress testing is used to gauge how certain stressors will affect a company. it involves test-ing an application under extreme workloads to see how it handles high traffic or data pro-cessing.
15. What is Validation in software testing?
ANSWER : Validation is determining if the system complies with the requirements and performs functions for which it is intended and meets the organization’s goals and user needs.
1.Validation is done at the end of the development process and takes place after verifications are completed.
2.It answers the question like: Am I building the right product?Am I accessing the right data (in terms of the data required to satisfy the requirement).
3.It is a High level activity.
4.Performed after a work product is produced against established criteria ensuring that the prod-uct integrates correctly into the environment.
5.Determination of correctness of the final software product by a development project with re-spect to the user needs and requirements.
Advantages of Validation:
1. During verification if some defects are missed then during validation process it can be caught as failures.
2. If during verification some specification is misunderstood and development had happened then during validation process while executing that functionality the difference between the actual result and expected result can be understood.
3. Validation is done during testing like feature testing, integration testing, system testing, load testing, compatibility testing, stress testing, etc.
4. Validation helps in building the right product as per the customer’s requirement and helps in satisfying their needs.
16. What is White Box Testing?
ANSWER : White Box Testing
White box testing is the detailed investigation of internal logic and structure of the code. White box testing is also called glass testing or open box testing. In order to perform white box testing on an application, the tester needs to possess knowledge of the internal working of the code. The tester needs to have a look inside the source code and find out which unit/chunk of the code is be-having inappropriately.
1.As the tester has knowledge of the source code, it becomes very easy to find out which type of data can help in testing the application effectively.
2.It helps in optimizing the code.
3. Extra lines of code can be removed which can bring in hidden defects.
4. Due to the tester’s knowledge about the code, maximum coverage is attained during test sce-nario writing.
• Due to the fact that a skilled tester is needed to perform white box testing, the costs are in-creased.
‘• Sometimes it is impossible to look into every nook and corner to find out hidden errors that may create problems as many paths will go untested.
• It is difficult to maintain white box testing as the use of specialized tools like code analyzers and debugging tools are required.
17. What is Big Bang Approach?
ANSWER: Big Bang Integration Testing is an integration testing strategy, wherein all units are linked at once, which results in a complete and efficient system. In this type of integration testing all the components as well as the modules of the software are integrated simultaneously, after which everything is tested as a whole. During the process of big bang integration testing, most of the developed modules are coupled together to form a complete software system or a major part of the system, which is then used for integration testing. This approach of software testing is very effective as it enables software testers to save time as well as their efforts during the integration testing process.
However, if the test cases and their results are not properly recorded in big bang testing, the en-tire integration process can become complicated and may also prevent the testing team from get-ting their desired goals or results from integration testing. This approach, therefore, is generally executed by those developers who follow the ‘Run it and see’ approach.
• Big bang integration testing is used to test the complete system.
• The amount of planning required for this type of testing is almost negligible.
• All the modules are completed before the inception of integration testing.
• It does not require assistance from middle components such as stubs and driver, on which testing is dependent.
• Big bang testing is cost effective.
• There is no need of immediate builds and efforts required for the system.
• In Big bang integration testing, it is difficult to trace the cause of failures as the modules are integrated late.
• This approach is quite challenging and risky, as all the modules and components are inte-grated together in a single step.
• If any bug is found it becomes difficult to detach all the modules on order to find out its root cause.
• Defects present at the interface of components are identified at a later stage, as all the components are integrated in one shot.
• Since all the modules are tested together chances of failure increases.
• There is a high probability of missing some crucial defects, errors and issues, which might pop up in the production environment.
• It is difficult and tough to cover all the cases for integration testing without missing even a single scenario.
• Isolating any defect or bug during the testing process is difficult.
• If the test cases and their results are not recorded properly, it can complicate the integra-tion testing and prevent developers and testers from achieving their desired goals.
18. What is the black box testing and what are the advantages?
ANSWER: Black Box Testing
The technique of testing without having any knowledge of the interior workings of the application is Black Box testing. The tester is oblivious to the system architecture and does not have access to the source code. Typically, when performing a black box test, a tester will interact with the sys-tem’s user interface by providing inputs and examining outputs without knowing how and where the inputs are worked upon.
• Well suited and efficient for large code segments.
• Code Access not required.
• Clearly separates user’s perspective from the developer’s perspective through visibly defined roles.
• Large numbers of moderately skilled testers can test the application with no knowledge of im-plementation, programming language or operating systems.
• Limited Coverage since only a selected number of test scenarios are actually performed.
• Inefficient testing, due to the fact that the tester only has limited knowledge about an applica-tion.
• Blind Coverage, since the tester cannot target specific code segments or error prone areas.
• The test cases are difficult to design.
19. What is Bottom-Up Approach?
ANSWER: Bottom- Up is an approach used in integration testing, which is a level of software testing where individual units are combined and tested as groups. Integration testing is performed by software testers once unit testing is completed and before the inception of system testing. The main purpose of this level of testing is to expose faults in the interactions between integrated units. To assist testers in integration testing, test drivers and test stubs are used. Integration test-ing is defined by International Software Qualifications Board (ISQB) as process of testing per-formed to expose defects in the interfaces and in the interactions between integrated components or systems. During the process of software testing, integration testing is executed for various rea-sons, some of which are mentioned below:
• Integration testing becomes necessary to validate that various software modules are work-ing in unity. .
• At the time of module development, there can be a change in client’s requirements. If these requirements have not gone through unit testing, integration testing becomes com-pulsory for them.
• Interfaces of software modules with database can contain errors, which can be resolved through integration testing.
• As inadequate exception handling could cause issues and hence require integration testing.
Advantages of Using Bottom-Up Approach:
The advantages of bottom-up approach are:
1.It is appropriate for applications where bottom-up design methodology is used.
2.Test conditions can be created easily.
3.If the low level modules and their combined functions are often invoked by other modules, then it is more useful to test them first so that meaningful effective integration of other modules can be done.’
4.Always starting at the bottom of the hierarchy again means that the critical modules are gener-ally built and tested first and therefore any errors or mistakes in these forms of modules are iden-tified early in the process.
5. Advantageous if major flaws occur towards the bottom of the program.
Disadvantages of Bottom-Up Approach of Software Testing:
The disadvantages of Bottom-Up approach are:
1.Test engineers cannot observe system level functions from a partly integrated system.
2.They cannot observe the system level functions until the top level test driver is in place.
3.The program as an entity does not exist until the last module is added.
4.One big disadvantage of bottom up strategy is that, in this sort of testing no working model can be represented as far as several modules have been built.
5.This approach is driven by the existing infrastructure instead of the business processes.
20. What are the different Types of Software Testing?
ANSWER : Types of Software Testing Techniques:
• Acceptance Testing: The aim of this testing is to test the compliance of the software with client’s and business requirements and to assess its acceptability for delivery.
• Agile Testing: Important testing technique, wherein testing ; development activities hap-pen concurrently. Is also known as release or delivery driven approach.
• Accessibility Testing: Subset of usability testing, accessibility testing ensures that the ap-plication can be used by people with disabilities easily. Includes testing compliance with various accessibility standards.
• Adhoc Testing: This testing does not follow any structured way of testing and requires no documentation and planning. Here, testing is performed randomly by the testers.
• Alpha Testing: A type of acceptance testing, it stimulates real users with the assistance of black box and white box testing.
• Beta Testing: Here, software is tested in the real environment by real users. It can be termed as an external form of acceptance testing that reduces product failure risks and provides increased product quality.
• Functional Testing: Functional testing validates that the software has all the required func-tionalities.
• Non-Functional Testing: The aim of testing here is to ensure the non-functional require-ments of the software, such as the way the system operates.
• Black Box Testing: During this testing, knowledge of software’s internal structure, code, design, etc. is not required.
• White Box Testing: Here, the testers are aware of the internal structure and design of the software. It is applicable to unit testing, integration testing, etc.
• Gray Box Testing: A combination of white box and black box testing, in gray box testing testers have a limited knowledge of software’s internal structure. It is considered to be non-intrusive and unbiased.
• Compatibility Testing: It helps in determining the compatibility of the software product with various devices, environment, OS, networks, platforms, and more.
• Installation Testing: A crucial testing technique, installation testing ensures successful in-stallation of the application, before it is made available for the use of the end users.
• Endurance Testing: This is a type of non-functional testing, which is also known as soak testing. It involves testing a software under a significant load to validate its behaviour.
• Exploratory Testing: It tests the functionality, performance, features, and all the other components of the software, when the specifications and requirements are not defined.
• Integration Testing: Executed after unit testing ; before validation testing, here individual software modules are combined and tested as a group.
• Component Testing: Also known as program ; module testing, it tests the various compo-nents of the software in isolation to evaluate their quality and accuracy.
• System Testing: This testing is executed on a complete and integrated system to evaluate its compliance with its specified requirements.
• Load Testing: A type of performance testing technique, which is used to determine the performance of the system under real life load conditions.
• Localization Testing: Tests the software to make it suitable for a particular region, coun-try, or language. Makes the software culturally and linguistically appropriate.
• Globalization Testing: Ensure the adaptability, flexibility, and functionality of the software components, while making sure it is geographically, culturally, and linguistically acceptable all over the world.
• Regression Testing: Helps verify the performance of the software after it is changed or in-terfaced with other software systems.
• Smoke Testing: Also referred as build verification testing, smoke testing is performed to ensure software system’s critical functionalities are working as intended.
• Sanity Testing: Performed, after minor changes are executed in the software build, to make sure its functionality is not hindered by the executed changes.
• Security Testing: This type of testing is performed to protect the software and application from unforeseen threats and various security breaches.
• Scalability Testing: Measures the capability of a software, network, or process to continue working properly even after changes are implemented in its size and volume.
• Performance Testing: Determines the performance, stability, responsiveness of the soft-ware under expected workload.
• Stress Testing: Tests the software and its performance, functionality, and effectiveness un-der unfavourable and unexpected conditions.
• Usability Testing: Also known as user experience testing, here the software product is tested by user representatives.
• Volume Testing: A non-functional testing type, where software is tested by increasing the volume of data in the database. The aim is to analyze the performance of the software.
• A/B Testing: A statistical hypothesis testing or split testing, wherein two variants of the web page are tested to determine the better performing variant.