1. Development Testing in Software Engineering
It is a method of applying testing practices consistently throughout the software
development life cycle process.
Development Testing aims to establish a framework to verify whether the
requirements of a given project are met in accordance with the rules of the mission
to be accomplished.
This testing is done only once as compared to other testing's which can be
performed many times. To meet the deadline date, development testing is
performed during the development phase of a software product,
2. Development Testing
When to perform Development Testing?
• When writing new code or building a
new software product.
• When development cost is low, the
client should perform development
Testing so that the client doesn’t
have to face the debugging and
another testing cost.
3. Development testing requires some metric
• Static code Analysis : Static code analysis is a technique of debugging
by analyzing the source code before running a program. It is carried
out by analyzing a set of code against a set or multiple sets of coding
rules.
• Data Flow Analysis : This concept uses the Control flow Graph
mechanism to check the flow of the program, at different levels.
• Metric Analysis : Metric is a synonym for measurement. To calculate
the efficiency of a program, various software metrics like calculating
cyclamate complexity, counting Lines of code (LOC), function points,
etc. are used in that case.
4. • Code review : The source code is inspected and is checked for any
flaws in it. It can be used to find and remove flaws in the code such as
memory leaks and buffer overflows. It is very important to do a code
review in the early phase like a peer review, carry out this step earlier
than you send your code to be tested for development.
5. Benefits of Development Testing
• Early Bug Detecting
• Savings on costs
• Improved Coding Quality
• Increased Output
• Easy Maintenance
Tools required for Development Testing
• Selenium
• Testing Whiz
• HPE Unified Functional Testing
• Watir
• Katalon Studio
6. What is Test Driven Development (TDD)?
• Test-driven development (TDD) is a method of coding in which you first write
a test and it fails, then write the code to pass the test of development, and
clean up the code.
• Test-Driven Development (TDD) is a method in software development where
the focus is on writing tests before writing the actual code for a feature. This
approach uses short development cycles that repeat to ensure quality and
correctness
7. Process of Test Driven Development (TDD)
• It is the process in which test cases are written before the code that
validates those cases. It depends on the repetition of a concise
development cycle.
8. History of Test Driven Development (TDD)?
• TDD shares similarities with test-first programming from extreme
programming, which started in 1999. However, TDD has gained more
widespread interest on its own. Programmers also use TDD to improve and fix
old code written with different methods.
Advantages of Test Driven Development (TDD)
• Unit test provides constant feedback about the functions.
• Quality of design increases which further helps in proper maintenance.
• Test driven development act as a safety net against the bugs.
• TDD ensures that your application actually meets requirements defined for it.
• TDD have very short development lifecycle.
9. What is Release Testing?
• Release testing is the process of verifying that a particular release of a software
product meets the specified requirements and is “ready for release” to the end
users.
• It is performed to identify any bugs, defects, or issues that may have been
missed during the development process and to ensure that the product is of
high quality and meets customer expectations before it is made public
10. Why perform Release Testing?
• The primary goal of a release test is to verify that the software functions as
intended and meets the specified requirements.
• Identify and resolve issues or bugs impacting the software's performance and
functionality.
• Ensure that the software is compatible with different operating systems,
hardware configurations, and other software products and platforms.
• Evaluate software's performance under various conditions, including peak usage
and stress testing.
• Verify that the software meets desired security and data privacy requirements.
• Improve the reliability and stability of the software.
• Minimize the risk of customer complaints and increase customer satisfaction.
12. Types of Release Testing
• Functional testing
• Performance testing
• Security testing
• Compatibility testing
• Usability testing
• Regression testing( Regression tests make sure that the new changes haven't
accidentally messed up anything that was already working fine)
13. Usability Testing Or Unit Testing
• Usability Testing in software testing is a type of testing, that is done from an
end user’s perspective to determine if the system is easily usable. Usability
testing is generally the practice of testing how easy a design is to use on a
group of representative users
15. • Remote Usability Testing: Participants use a product or website from their
own location while researchers observe and gather feedback remotely. It’s
convenient and allows testing with diverse users without geographical
constraints.
• Moderated Usability Testing: A researcher guides participants through tasks,
observes their interactions, and collects feedback in real-time. It’s helpful for
understanding user behavior and thoughts as they navigate through the
product.
• Unmoderated Usability Testing: Participants complete tasks independently,
without direct guidance from a researcher. They usually record their screen
and verbalize their thoughts while interacting with the product. It’s efficient
for gathering feedback from a large number of users quickly.
16. • Comparative Usability Testing: This involves testing multiple versions of a
product or interface to determine which performs better in terms of usability.
It helps in making informed design decisions by identifying strengths and
weaknesses of each version.
• Think-Aloud Testing: Participants verbalize their thoughts and actions as they
interact with the product. This provides insights into their decision-making
process and helps identify usability issues that might not be obvious otherwise
• A/B Testing: Also known as split testing, it involves presenting users with two
(or more) versions of a product or interface and measuring which one
performs better based on predefined metrics such as conversion rate or user
engagement.