Tybcs Software Testing 2 Marks Sppu Questions
Tybcs Software Testing 2 Marks Sppu Questions
Usability Evaluation
Software testing is more than just finding bugs; it carefully tests how easy usability
would be from a user’s point of view. This means that the final product should be
what users expect, with comfort and simplicity of interaction being highlighted. By
considering these usability aspects during testing, developers can achieve the best
match between software and user needs and preferences.
Verification of Software
Verification and validation are a significant part of software testing as they involve
scrutinizing every aspect documented in the Software Requirements Specifications
(SRS) document. This strict analysis also includes the performance of software in
unforeseen situations, such as incorrect input data or changes to environmental
conditions. Through these scenarios, testing gives confidence that the system is
capable of managing such variations well enough to correct an error before it occurs.
Accelerating Development
Software testing plays an important role as an accelerant of development.
Testers identify bugs and describe scenarios that lead to bug reproduction, providing
developers with insights for efficient problem resolution. Parallel work by testers and
developers makes it possible to develop depth in the manner in which design is
understood from an implementing point of view. This also speeds up the
development process because the chances of bugs are reduced.
As Testing is mainly to find out the errors and Debugging is to find the missing or de-
bugs is mainly performed by the testers. Also if faulty code in an application hence
Perform
testing is at developer end known as unit testing major performed by the developers
then it is performed by the Developer. only.
As Testing covers the functional and behavioral Debugging is to find the error at code
Knowledge flow of an application so only functional level so technical and code level
Required knowledge is required for the tester to perform the knowledge is required for the developer
testing. to perform debugging.
Testing can be manual or made automated with the Debugging can't be get automated it is
Automation
help of different tools. always be the manual.
Testing on basis of level of performing is at
Level different level i.e., unit testing, integration testing, No such level of Debugging is possible.
system testing, etc.
• Feature: Testing is done in small iterations or increments, often aligning with each
Agile sprint (typically 1-4 weeks). Each iteration produces a working piece of
software, and testing happens continuously throughout the sprint.
• Benefit: It allows for early detection of defects and quicker feedback, ensuring that
the software is always tested and functional at each stage.
2. Continuous Collaboration:
• Feature: TDD is often part of Agile testing, where tests are written before the
code. Developers write unit tests that define expected behavior, and then code
is written to pass these tests.
• Benefit: TDD improves code quality by ensuring that each piece of code is
tested right from the beginning and helps catch issues early.
This method is named so because the software program, in the eyes of the tester, is like a
black box; inside which one cannot see.
This method attempts to find errors in the following categories:
• Incorrect or missing functions
• Interface errors
• Errors in data structures or external database access
• Behavior or performance errors
• Initialization and termination errors Black box testing:
Testing, either functional or non-functional, without reference to the internal structure of
the component or system.
4.
Difference between Black Box and White Box
Testing
Parameter Black Box Testing White Box Testing
Also known as data-driven, box testing, and functional Also known as structural, clear box,
Alias
testing. code-based, or glass box testing.
Based on external expectations; internal behavior is Internal working is known; tests are
Base of Testing
unknown. designed accordingly.
Programming
Not needed. Required.
Knowledge
Implementation
Not required. Complete understanding is necessary.
Knowledge
Objective To check the functionality of the system under test. To check the quality of the code.
Basis for Test Can start after preparing the requirement specification Can start after preparing the detailed
Cases document. design document.
Tested By End users, developers, and testers. Primarily testers and developers.
Algorithm Test Not the best method for algorithm testing. Best suited for algorithm testing.
Testers with lower skill levels can test the application without Requires expert testers with vast
Skill Level
knowledge of the implementation or programming. experience.
5.
6. In the top-down method, we will also make sure that the module we are adding
is the child of the previous one, like Child C, is a child of Child B.
The dimensions of quality refer to the various attributes or characteristics that determine the
overall quality of a product or service. These dimensions are often used to assess and improve
quality from different perspectives, ensuring that customer expectations are met. Some key
dimensions of quality include:
1. Performance: How well a product or service performs its intended function. For
example, the speed and efficiency of a car or the reliability of a software application.
2. Features: The additional characteristics that enhance the product or service, such as
extra functionalities or design elements that provide more value to the customer.
3. Reliability: The consistency of a product's performance over time. A reliable product
performs its function under normal usage without frequent breakdowns.
4. Conformance: The degree to which a product or service meets established standards
or specifications. This ensures that products are made according to the defined design
or blueprint.
5. Durability: The lifespan of a product and its ability to withstand wear, pressure, or
damage over time, making it a long-term investment.
6. Serviceability: The ease and speed with which a product can be repaired or
maintained. Products that are easy to service tend to have higher customer
satisfaction.
7. Aesthetics: The sensory characteristics of a product, including its appearance, feel,
smell, taste, or sound. This dimension focuses on the appeal of the product to the
customer.
8. Perceived Quality: The customer’s overall impression of the product or service,
based on reputation, brand, and personal experiences.
• Thorough Code Coverage: White box testing allows testers to examine the code in detail,
ensuring that all paths, conditions, and branches are tested. This leads to comprehensive
coverage of the software’s internal functions.
• Early Bug Detection: Since the tester has access to the code, they can identify issues like
logic errors, incorrect syntax, or security vulnerabilities early in the development cycle,
allowing for quicker resolution.
• Optimized Code: By reviewing the code during testing, inefficiencies, redundant code, or
areas for optimization can be identified and improved, leading to better performance.
• Improved Security: White box testing helps uncover potential security vulnerabilities,
such as unauthorized access points or flaws in encryption, by directly examining the source
code.
• Better Test Case Design: White box testing helps in designing more effective and
meaningful test cases, as it is based on the internal structure of the application rather than
external behavior. It enables testing of all possible paths, loops, and conditions in the code.
Step 1 − While performing the web application testing, all the features,
functionalities, actions etc which can be performed on the websites are
verified to check if they are working properly as per the requirements. The
functional testing approaches can be adopted during this phase of testing.
Step 2 − While performing the web application testing, the scalability, and
usability of the website are verified. The application under testing is tested
across various browsers and hardware.
Step 4 − While performing the web application testing, the security features
such as mishandling of information, unauthorized access etc are verified.
Step 5 − While performing the web application testing, the characteristics of
the websites are evaluated under a particular load.
Acceptance testing is the final phase of software testing, performed to determine whether a
software system meets the required business needs and is ready for deployment. It validates
whether the system behaves as expected in real-world scenarios. There are various forms of
acceptance testing in software testing, each serving different purposes:
1. Alpha Testing
• Purpose: Alpha testing is typically the first phase of acceptance testing, performed by
the internal development team.
• When: It is done before the product is released to external users.
• Process: During alpha testing, developers and testers simulate real user scenarios to
identify and fix defects. The goal is to ensure the software is stable enough for
external testing.
• Focus: It mainly focuses on functionality, usability, and ensuring that major issues are
addressed before beta testing.
2. Beta Testing
• Purpose: Beta testing is conducted after alpha testing and is usually performed by a
select group of external users.
• When: This phase occurs before the final release, and the software is made available
to real users who are not part of the development team.
• Process: The users test the software in a real-world environment and provide
feedback to the development team about bugs, usability issues, and improvements.
• Focus: It helps uncover defects that were not identified in earlier testing phases and
validates the software's performance and user experience.
• Purpose: UAT is performed to ensure that the software meets the business
requirements and satisfies the end user's needs.
• When: This is the final stage of testing before the software is deployed into
production.
• Process: UAT is typically carried out by the end users or the client. They test whether
the system can handle required tasks in real-world scenarios, confirming that it meets
the business objectives.
• Focus: The focus is on validating whether the software can perform its intended
functions in the environment it will be used, ensuring that it is aligned with the user’s
needs and expectations.
4. Operational Acceptance Testing (OAT)
• Purpose: OAT focuses on verifying whether the system is ready for deployment in
terms of its operational requirements.
• When: This type of testing is performed after the application passes UAT but before
it goes into production.
• Process: It includes tests related to system performance, backup, recovery,
maintenance, security, and other operational aspects.
• Focus: OAT ensures that the software can function smoothly in the production
environment and can be maintained and supported effectively.
• Purpose: This testing is required when software must comply with regulatory
standards or government regulations.
• When: It occurs when the software needs to meet specific legal, financial, or industry
standards before being released.
Regression testing is performed under system testing to confirm and identify that if
there's any defect in the system due to modification in any other part of the system. It
makes sure, any changes done during the development process have not introduced
a new defect and also gives assurance; old defects will not exist on the addition of new
software over the time.
For more information about regression testing refers to the below link:
regression-testing
Load Testing
Load testing is performed under system testing to clarify whether the system can work
under real-time loads or not.
Functional Testing
Recovery Testing