Hemanth Q&A Functional Testing
Hemanth Q&A Functional Testing
Testing the end to end functionality of the system as a whole is defined as a functional system
testing.
Attempts to find:
Divide the input domain into classes of data for which test cases can be generated.
An input condition is either a specific numeric value, range of values, a set of related values, or
a boolean condition.
If an input condition specifies a range or a specific value, one valid and two
invalid equivalence classes defined.
If an input condition specifies a boolean or a member of a set, one valid and one
invalid equivalence classes defined.
Test cases for each input domain data item developed and executed.
Examples:
For a range of values bounded by a and b, test (a-1), a, (a+1), (b-1), b, (b+1).
If input conditions specify a number of values n, test with (n-1), n and (n+1)
input values.
Apply 1 and 2 to output conditions (e.g., generate table of minimum and
maximum size).
If internal program data structures have boundaries (e.g., buffer size, table
limits), use input data to exercise structures on boundaries.
Executive Order 10358 provides in the case of an employee whose work week varies from
the normal Monday through Friday work week, that Labor Day and Thanksgiving Day each
were to be observed on the next succeeding workday when the holiday fell on a day outside
the employee's regular basic work week. Now, when Labor Day, Thanksgiving Day or any of
the new Monday holidays are outside an employee's basic workbook, the immediately
preceding workday will be his holiday when the non-workday on which the holiday falls is
the second non-workday or the non-workday designated as the employee's day off in lieu of
Saturday.
When the non-workday on which the holiday falls is the first non-workday or the non-workday
designated as the employee's day off in lieu of Sunday, the holiday observance is moved to the
next succeeding workday.
Causes (input conditions) and effects (actions) are listed for a module and an identifier
is assigned to each.
A cause-effect graph developed.
Graph converted to a decision table.
Decision table rules are converted to test cases.
Answer: There are many parameters that should be considered while deciding the important
test scenarios for testing any website. Also, the type of website to be tested and its
requirement specification plays an important role here.
Enlisted below are few important test scenarios that are applicable for testing any type of
website:
Test the GUI (Graphical User Interface) of the website for verifying the
consistency of the design elements and page layout.
All page links and hyperlinks are checked for their redirection to the
desired page.
In case of presence of any forms or fields on the website, testing scenarios
consist of testing with valid data, invalid data, testing with existing records as
well as testing with empty records.
Functionality testing as per the requirement specification is done.
The performance of a website is tested under heavy loads to determine the
web server response time and database query time.
Compatibility testing is done to test the behavior of an application on a
different browser and OS (operating system) combinations.
Usability testing and Database testing is also performed as a part of
test scenarios.
Steps:
Systems with sensitive information or which have the potential to harm individuals
can be a target for improper or illegal use. This can include:
• attempted penetration of the system by 'outside' individuals for fun or
personal gain.
• disgruntled or dishonest employees
During security testing the tester plays the role of the individual trying to penetrate the
system. Large range of methods:
• attempt to acquire passwords through external clerical means
• use custom software to attack the system
• overwhelm the system with requests
• cause system errors and attempt to penetrate the system during recovery
• browse through insecure data.
Stress testing is designed to test the software with abnormal situations. Stress
testing attempts to find the limits at which the system will fail through abnormal
quantity or frequency of inputs. For example:
• Higher rates of interrupts
• Data rates an order of magnitude above 'normal'
• Test cases that require maximum memory or other resources.
• Test cases that cause 'thrashing' in a virtual operating system.
• Test cases that cause excessive 'hunting' for data on disk systems.
Can also attempt sensitivity testing to determine if particular combinations of otherwise
normal inputs can cause improper processing.
For real-time and embedded systems, functional requirements may be satisfied but
performance problems make the system unacceptable.
Performance testing checks the run-time performance in the context of the integrated
system.
Can be coupled with stress testing.
May require special software instrumentation.
Risk-based Testing is the term used for an approach to creating a Test Strategy that is based
on prioritizing tests by risk. The basis of the approach is a detailed risk analysis and
prioritizing of risks by risk level. Tests to address each risk are then specified, starting with
the highest risk first.
Verification: It is a static analysis technique. Here, testing is done without executing the
code. Examples include – Reviews, Inspection, and walkthrough
Validation: It is a dynamic analysis technique where testing is done by executing the
code. Examples include functional and non-functional testing techniques.
21. Explain how to test documents in a project that span across the software
development lifecycle?
The project span across the software development lifecycle in the following manner
Central/Project test plan: It is the main test plan that outlines the complete test
strategy of the project. This plan is used till the end of the software development
lifecycle
Acceptance test plan: This document begins during the requirement phase and is
completed at the final delivery
System test plan: This plan starts during the design plan and proceeds until the end
of the project
Integration and Unit test plan: Both these test plans start during the execution phase
and last until the final delivery
22. How can you eliminate the product risk in your project?
It helps you to eliminate product risk in your project, and there is a simple yet crucial step
that can reduce the product risk in your project.
23. What are the different configurations that have to be considered while
testing a website?
24. What are the phases involved in Software Testing Life Cycle?
The different phases involved in the software testing life cycle are:
Phases Explanation
In this phase, the test strategy is defined. Objective & the scope
Test Planning
of the project is determined.
Answer: Server-side validation occurs where the validation and processing of user
requests require the response from the server. To understand it more clearly, the user’s
input is being sent to the server and validation is done using server-side scripting
languages such as PHP, Asp.NET, etc.
After the validation process, feedback is sent back to the client in the form of a
dynamically generated web page.
When compared to the Client-Side validation process, the Server-side validation process is
more secure because here application is protected against malicious attacks and users can
easily bypass client-side scripting language.
27. Testing activity which is performed to expose defects in the interfaces and in
the interaction between integrated components is?
Ans. Yes, because both help detects faults and improves quality.
29. Why does the boundary value analysis provide good test cases?
Ans. Because errors are frequently made during programming of the different cases near the
'edges' of the range of values.