ST Unit IV Complete Notes
ST Unit IV Complete Notes
ST Unit IV Complete Notes
TEST PLANNING
What is a Test Plan?
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. The test plan serves as the blueprint.
1
Identifies Risks
A test plan identifies potential risks and outlines mitigation strategies,
helping to address issues proactively rather than reactively.
Contingency Plans
These include contingency plans for dealing with unexpected events or
issues that may arise during testing.
Stakeholder Alignment
Facilitates communication among stakeholders, including developers,
testers, project managers, and clients, ensuring everyone is aligned on the testing
objectives, approach, and schedule.
Documentation
Serves as a comprehensive document that can be referred to by all team
members, aiding in knowledge sharing and transparency.
Resource Optimization
Helps in efficiently utilizing available resources, including time and
personnel, by providing a clear plan of action.
Focus on Priorities
Ensures that testing efforts are focused on high-priority areas that are
critical to the success of the project.
2
Difference between Test Strategy and Test Plan
3
The following are the cost factors:
Hardware Cost
Hardware cost includes actual purchase and peripherals (external devices)
that are connected to computer. For example, printer, disk drive etc. Actually,
finding actual cost of hardware is generally more difficult especially, when
system is shared by various users so as to compared to a system which dedicated
stand alone. In some case, best way is to treat it as operating cost.
Personnel Cost
Personnel costs includes EDP staff salaries and benefits as well as pay for
those who are involved in process of development of system. Cost occurred
during development of system which are one time costs and are also called
development cost. Once system is installed, cost of operating and maintaining
system becomes recurring cost that one has to pay very frequently based on
requirement.
Facility Cost
Facility cost is amount of money that is spent in preparation of a site that is
physical where application or computer will be in operation. This includes
wiring, flooring, lighting and air conditioning. These costs are treated as one-
time costs and are included into overall cost estimate of candidate system.
Operating Cost
These includes all costs associated with day-to-day (everyday) operation
of system and amount depends on number of shifts, nature of applications. There
are various ways of covering operating costs.
4
Supply Cost
Supply cost are variable costs that increase with increased use of paper,
disks and like. They should be estimated and included in overall cost of system.
5
Test monitoring yields valuable insights into the software’s quality under
examination, aids in the detection of potential risks, and enables timely
adjustments to testing strategies or resource allocations.
Test Monitoring is a continuous procedure that ensures:
Testing endeavors (activities) stay on course,
Issues are promptly dealt with, and
Project stakeholders are well-informed about the testing status.
Performance Metrics
Performance metrics in the context of software or system performance
typically include measures such as response time, throughput, resource utilization,
and error rates, providing insights into the efficiency and effectiveness of the
system under various conditions.
Performance Metrics include
Response time
Throughout
Error rate
Advanced Metrics
Apart from key metrics, there are some metrics that you can track for a
deeper understanding of how your testing processes are working.
Advanced Test Metrics include
Code coverage by lines or branches
Mutation testing
Machine learning-based anomaly detection
TEST REPORTING
Test Reporting
Like any project, the testing also should be driven by a plan. The test plan
generates the report for the execution and tracking of the entire testing project.
8
Preparing the test plan
What needs to be the tested - the scope of testing, including clear
identification of what will be the tested & what will not be tested.
How the testing is going to be performed – breaking down the testing into
small and manageable tasks and identifying the strategies to be used for
carrying out the tasks.
Resource needed for testing
The timelines by which the testing activities will be performed.
Risks that may be faced in all of the above, with appropriate mitigation and
contingency plans.
Test Case Specification
Using the test plan as the basis, the testing team design test case
specification which then becomes the basis for preparing for individual test cases.
A test case is nothing but a series of step executed on a product, using a
predefined set of input data, expected to produce a pre-defined set of outputs, in a
given environment.
Test case specifications are useful as it enlists the specification details of
the items.
Test Case Specification Description
Test Case ID(TC_ID)
Unique ID to identify/report the bug if present in
the functionality of software
Test Case Objective The purpose of the test. The lists can be generated
to perform intended task, for which software is
developed. Results should always follow the test
case objective.
9
Pre-requisite This can include environment setup, supporting
software environment setup, for the project, or any
fields in which user will give the input. So that test
cases can be planned accordingly.
Steps This includes steps to be performed to give the
input to the system, so that system can perform its
specified task and display the result accordingly.
Input Data
The choice of input data will be depended on the
test case itself. and the technique followed in the
test case.
For e.g. Equivalence Partitioning, Boundary
Value Analysis etc.
Status
Whether expected results and actual result
match, if it matches then PASS or else FAIL
SPECIALIZED TESTING
What is Specialized testing?
Specialized testing refers to specific types of software testing focused on
particular aspects or requirements of an application, such as performance, security,
usability, or compatibility.
10
Refer notes of System and Performance Testing, Usability Testing of Unit II
for Specialized testing
11
unit testing of the traditional testing techniques. Therefore all the methods of a
class can be involved at least once to test the class.
Random Testing
It is supported by developing a random test sequence that tries the
minimum variety of operations typical to the behavior of the categories.
Partition Testing
This methodology categorizes the inputs and outputs of a category so as to
check them severely. This minimizes the number of cases that have to be
designed.
Scenario-based Testing
It primarily involves capturing the user actions then stimulating them to
similar actions throughout the test.
13
Features of Selenium
Selenium supports only web-based application, which means that the
application can be opened by the browser or the URL like Gmail, Amazon,
etc.
Selenium does not support a stand-alone application, which means that the
application is not opened in the browser or URL like Notepad, MS-Word,
Calculator, etc.
Selenium web driver is the latest tool in the selenium community that
removes all the drawbacks of the previous tool (selenium-IDE).
Selenium web-driver is powerful because it supports multiple programming
languages, various browsers, and different operating systems and also
supports mobile applications like iPhone, Android.
Watir
Watir stands for web application testing in ruby which is written in
the Ruby programming language. It is a web application testing tool, which is
open-source and supports cross-browser.
Features of Watir
It supports various browsers on different platforms like Google Chrome,
Opera, Firefox, Internet Explorer, and Safari.
14
Watir is a lightweight and powerful tool.
We can easily download the test file for the UI.
We can take the screenshots once we are done with the testing, which helps
us to keep track of the intermediate testing.
This tool has some inbuilt libraries, which helps to check the alerts, browser
windows, page-performance, etc.
QTP
QTP tool is used to test functional test cases of the web-based application.
QTP stands for Quick Test Professional, and now it is known as Micro Focus
UFT [Unified Functional Testing]. This is very helpful for the new test engineer
because they can understand this tool in a few minutes. QTP is designed on the
scripting language like VB script to automate the application.
Features of QTP
This tool support record and playback feature.
Both technical and non-technical tester can use QTP.
QTP supports multiple software development environments like Oracle,
SAP, JAVA, etc.
With the help of QTP, we can test both desktop and web-based applications.
15
Telerik Studio
It is modern web application which support functional test automation. With
the help of this tool, we can test the load, performance, and functionality of the
web and mobile applications and also identify the cross-browser issues.
Testim
It is another automation testing tool, which can execute the test case in very
little time and run them in various web and mobile applications. This tool will help
us to enhance the extensibility and stability of our test suites. It provides the
flexibility to cover the functionalities of the platform with the help
of JavaScript and HTML.
16
Features of Testim
This tool will support parallel execution.
In this tool, we can capture the screenshots.
This tool will automatically create the tests.
With the help of this tool, we can perform requirements-based and
parameterized testing.
17
Technical Support
Look for comprehensive support options such as FAQs, live chat, and
documentation to address any issues promptly.
Community Support
Engage with professional communities to stay updated on industry trends as
well as best practices in software testing.
18
Reporting Mechanism
Ensure robust reporting capabilities with features like error stack traces,
screenshots, and customizable templates for clear insights into test results.
24/7 Support and Training
Select tools offering extensive training resources, round-the-clock customer
support, and advanced learning opportunities to maximize team efficiency and
expertise.
20
most IT firms are now shifting towards automation. But, as we all know,
anything can have pros and cons and in the field of software development.
Today, from small to large, every firm is adopting automation testing and it
directly allows them to let their resources work on other parts. So, it becomes
very crucial to understand the pain points of having automation testing in your
organization.
2. Network Issues
During the automation testing, it is being observed that network stability
& disconnection has been one of the most challenging issues for QAs. The
dedicated team needs to have a good and stable connection, and if the connection
is poor, it becomes hard to access databases, third-party services, etc.
21
Some other issue that occurs with the network is:
Disruption in the network also blocks QA to access virtual
environments that are used for testing.
Any delay in testing, specifically due to network issues can cause delays in
the whole development cycle.
In the development cycle, the whole system fails if testing goes wrong.
This happens due to its architecture.
3. Cost Factor
You might not be surprised that test automation has become a very crucial
part of software testing. Besides automation comes at a costly price especially
during its initial phase. So, if you’re running on a tight budget, you might need
to reconsider it again because the implementation is going to cost you on a higher
side which also includes license cost for the software. Likewise, going for
an open-source solution will lead you to train and maintenance costs.
4. Right Expectations
It is a must to understand that expectations should always be right either
it’s for selecting testing tools or the methods you’re going to implement or
maybe the outcome you’re expecting. No matter how much automation we’re
going to make but human interaction and involvement are necessary and will play
a very crucial role in fixing bugs and running tests.
Therefore, for non-automation testing, humans will be required, and not to
forget the most important thing is ‘A testing phase gets success not because of the
number of executions, but its success defines by the number of successful
compilations done with a meaningful outcome.’
22
5. Testing Accuracy
If you try to run processes on outdated data, then it will show you the false
outputs which are the most common mistakes in automation. That’s why it is
very crucial for a team to be aligned in a singular channel which can help them in
having clear communication to avoid any such chaos. In
Automation, DevOps needs a quick response from testers in order to get more
accuracy over the data. Thus, data relevancy and accuracy are the only factors to
achieve in testing accuracy.
6. Selection of Tool
The selection of the right tool is the most crucial part of the testing phase.
Lack of expertise can hamper the whole development cycle. Generally, typical
testing consists of functional, unit, integration, etc. Besides the fact, the
challenging part is to decide whether your project needs Automation or Manual
Testing. Make sure to dig into these considerations before selecting any tool for
your project:
Gather information about your project and its requirement.
Technical support & assistance.
Check for cross-browsing testing compatibility.
Ease in maintenance
Cost
GUI TESTING
What is GUI Testing?
Graphical User Interface Testing (GUI) Testing is the process for ensuring
proper functionality of the graphical user interface (GUI) for a specific
application. GUI testing generally evaluates a design of elements such as layout,
colors and also fonts, font sizes, labels, text boxes, text formatting, captions,
buttons, lists, icons, links, and content. GUI testing processes may be either
manual or automatic.
24
Analog Recording
This is always what people associate with GUI testing tools by analog
recording, the testing tool basically captures specific mouse clicks, keyboard
presses, and other user actions and then simply stores them in a file for playback.
For example, it might record that a user left-clicked at position X = 500 pixels, Y
= 400 pixels or typed the word “Search” in a box and pressed the [ENTER] key
on their keyboard.
25
Test Complete: Comprehensive GUI testing tool for desktop, web, and mobile
applications.
QTP/UFT (Quick Test Professional/Unified Functional Testing): Automated
functional testing tool.
Ranorex: Supports GUI testing for various applications, including desktop and
mobile.
Robot Framework: Open-source automation framework that supports GUI testing
through various libraries.
26