The document discusses software testing concepts including validation testing, black box testing, white box testing, unit testing, integration testing, system testing, control structure testing, qualitative analysis, and quantitative analysis. It also discusses test planning and the role of test plans.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
22 views
SE UNIT 4 Notes - Updated
The document discusses software testing concepts including validation testing, black box testing, white box testing, unit testing, integration testing, system testing, control structure testing, qualitative analysis, and quantitative analysis. It also discusses test planning and the role of test plans.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 28
Software Engineering
UNIT 4 Notes Validation Testing
• Validation: Are we building the right product?
• Validation is the process of checking whether the software product is up to the mark. • It is the process of checking the validation of the product i.e. it checks what we are developing is the right product. • Validation is simply known as Dynamic Testing. • Validation Testing is known as Dynamic Testing in which we examine whether we have developed the product right or not and also about the business needs of the client. Here are some of the activities that are involved in Validation. • Black Box Testing • White Box Testing • Unit Testing • Integration Testing System Testing • 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. • 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. • It is also called as clear box testing. • It is most time consuming. • It is suitable for algorithm testing. • Example: By input to check and verify loops • Path Testing • Loop Testing • Condition testing What is Software Testing? Software Testing Fundamentals
• Software Testing is an activity in software
development. • It is an investigation performed against a software to provide information about the quality of the software to stakeholders. SOFTWARE TESTING FUNDAMENTALS • The goal of testing is to find errors, and a good test is one that has a high probability of finding an error. The product should be testable. “Software testability is simply how easily a computer program can be tested.” Testability exhibits following characteristics:- Different people have come up with various definitions for Software Testing, but generally, the aim is: • To ensure that the software meets the agreed requirements and design • The application works as expected • The application doesn’t contain serious bugs • Meets its intended use as per user expectations • Software testing is often used in association with the terms verification and validation. a)Operability:- If a system is designed and implemented with quality in mind, relatively few bugs will block the execution of tests. b) Observability:- “What you see is what you test.” Inputs provided as part of testing produce distinct outputs. c) Controllability:- “The better we can control the software, the more the testing can be automated and optimized.” All possible outputs can be generated through some combination of input. d) Decomposability:- By controlling the scope of testing, we can more quickly isolate problems and perform smarter retesting. e) Simplicity:- “The less there is to test, the more quickly we can test it.” The program should exhibit functional simplicity; structural simplicity, and code simplicity. f) Stability:- “The fewer the changes, the fewer the disruptions to testing.” g) Understandability:- “The more information we have, the smarter we will test.” Block box Testing • is a software testing method in which the internal structure/design/implementation of the item being tested is not known to the tester. Only the external design and structure are tested. • Black box testing is mainly focused on testing the functionality of the software, ensuring that it meets the requirements and specifications. • It is mostly done by software testers. • No knowledge of implementation is needed. • It can be referred to as outer or external software testing. • No knowledge of programming is required. • It is also called closed testing. • It is least time consuming. • Example: Search something on google by using keywords White Box Testing • is a software testing method in which the internal structure/design/implementation of the item being tested is known to the tester. Implementation and impact of the code are tested. • White box testing is mainly focused on ensuring that the internal code of the software is correct and efficient. • It is a way of testing the software in which the tester has knowledge about the internal structure or the code or the program of the software. • It is mostly done by software developers. • Knowledge of implementation is required. • It is the inner or the internal software testing. • It is mandatory to have knowledge of programming. Control Structure Testing • Control structure testing is used to increase the coverage area by testing • various control structures present in the program. • ●Different types of testing performed in control structure • 1. Condition Testing • 2. Data Flow Testing • 3. Loop Testing Conditional Testing Condition Testing : Condition testing is a test case design method, which ensures that the logical condition and decision statements are free from errors. • The errors present in logical conditions can be incorrect boolean operators, missing parentheses in a booleans expression, error in relational operators, arithmetic expressions. Data Flow Testing ●The data flow test method chooses the test path of a program based on the locations of the definitions and uses all the variables in the program. Loop Testing ●Loop testing is actually a white box testing technique. It specifically • focuses on the validity of loop construction. ●There are four types of loops. • 1. Simple Loop • 2. Nested Loops • 3. Concatenated Loops • 4. Unstructured loops Simple Loop
• Following steps can be applied in simple loop
• 1. Skip the entire loop. • 2. Traverse the loop only once. • 3. Traverse the loop two times. • 4. Make p passes through the loop where p<n. • 5. Traverse the loop n-1, n, n+1 times while(condition) { statement(s); } Nested Loop
Nested Loop • while(condition 1)
• A loop within a loop is called nested loop • { • Number of testing increases while • while(condition 2) the level of nesting increases • Following steps can be applied in • { nested loop • statement(s); • 1. Start with an inner loop. set all other loops to minimum values. • } • 2. Conduct simple loop testing on • } inner loop. • 3. Work outwards. • 4. Continue until all loops are tested Concatenated Loops
• If loops are not dependent on each
other then then steps mentioned in • the simple loop can be followed • If the loop is interdependent then steps in nested loop is followed • while(condition 1) • { • statement(s); • } • while(condition 2) • { • statement(s); • } Unstructured loop
• Unstructured loop is the
combination of nested and concatenated loops. • It is basically a group of loops that are in no order. while() { for() { } while() { } } Qualitative analysis • Qualitative data: The data collected on grounds of categorical variables are qualitative data. Qualitative data are more descriptive and conceptual in nature. It measures the data on basis of the type of data, collection, or category. The data collection is based on what type of quality is given. Qualitative data is categorized into different groups based on characteristics. The data obtained from these kinds of analysis or research is used in theorization, perceptions, and developing hypothetical theories. These data are collected from texts, documents, transcripts, audio and video recordings, etc. Quantitative Analysis • Quantitative data: The data collected on the grounds of the numerical variables are quantitative data. Quantitative data are more objective and conclusive in nature. It measures the values and is expressed in numbers. The data collection is based on “how much” is the quantity. The data in quantitative analysis is expressed in numbers so it can be counted or measured. The data is extracted from experiments, surveys, market reports, matrices, etc. Testing Tools – Test Planning • A test plan is a document that consists of all future testing- related activities. • It is prepared at the project level and in general, it defines work products to be tested, how they will be tested, and test type distribution among the testers. • Before starting testing there will be a test manager who will be preparing a test plan. In any company whenever a new project is taken up before the tester is involved in the testing, the test manager of the team would prepare a test Plan. • The test plan serves as the blueprint that changes according to the progressions in the project and stays current at all times. • It serves as a base for conducting testing activities and coordinating activities among a QA team. • It is shared with Business Analysts, Project Managers, and anyone associated with the project.