0% found this document useful (0 votes)
75 views7 pages

Software QA: Types of Testing

Uploaded by

api-19851686
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views7 pages

Software QA: Types of Testing

Uploaded by

api-19851686
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 7

Software QA

Introduction
Testing is very critical process in software development life cycle as it assures quality of
the application that has direct influence on customer satisfaction, repeat sales cycles and
thus company’s revenues. This involves working on the application the same way end users
uses the application before its generally available to public. To assure quality in the product,
it is very critical to understand the business requirements of the application and customer
expectations. To make sure that we deliver quality software product, different
methodologies and strategies are used during the QA life cycle which we will discuss in
detail in later part of this document.

Software Development Life Cycle:

• Idea
• Gathering User requirements
• Developing detailed design document
• Development process (coding)
• QA Cycle
• Exit criteria
• Product release (General Availability)
• Sustaining
• Planning next release

QA Cycle:

• Understanding the user requirements


• Digesting the design document
• Developing Test plan
• Developing Test cases
• Executing the test cases
• Bug tracking
• Meeting exit criteria
• GA
• Plan for next release

Types of Testing

Graphical User Interface (GUI) Testing: The graphical interface provided by the
application to interact with the user is GUI. Testing the GUI involves testing error
messages, looking for required field indicators and clear demarcation of different sections
of the data entry form etc.

Created by H19N191913LSree Budhavarapu Page 1 of 7


[email protected]
Functional Testing: Testing the functionality of the application as per functional design
document (FDD) and user requirement specification. Test cases are written based on FDD
and user requirements and testing is done by executing these test cases.

Regression Testing: Testing the same features of the application or executing the same
test cases over subsequent builds to ensure that the functionality is not broken due to code
changes is regression testing. When code is changed to fix an issue it may break some other
functionality thus causing some test case to fail. To ensure that code changes are not
breaking anything that was working fine earlier regression testing is done.

Integration Testing: Some times two software applications may share data or communicate
each other either as part of the functionality or to fulfill a business process. Or some times
in complex application likes ERP, two modules may have to communicate each other and share
data between them. Testing this is known as integration testing. If integration is between
two different modules within the same application then it’s known as internal Integration
testing. If integration is between two different application then its external integration
testing.

System Testing: Testing the software application as a single system to make sure that
every aspect of the application is working as per the design is System Testing. Generally
testing end to end business workflow falls under this category. All above types of testing
will be performed in system test cycle.

Load and Performance Testing: Testing the performance of the application under given
known load is load and performance testing. The vital statistics of the application servers
during this testing indicates the scalability of the application under different load patterns.

Unit Testing: Testing individual blocks of the code as unit to make sure that the unit is
working fine is Unit Testing. Generally this is done by developers to make sure that the
code is working fine before making the code changes to the build. Popular tool for Java unit
testing is JUnit.

Methods of Testing:

Black box Testing: Testing the application’s functionality from end user’s perspective is
black box testing. Here the tester does not look into the technical aspects of the
application development like development platform, language, data base details etc. All
involved here is set of input parameters, functional steps and validation the output as per
the test case.

White Box testing: Testing the application leveraging the development environment either
to test the API of the application or for internal testing purpose. Generally white box
testing is done using the same development code by making called to the existing code by
passing different test data. Whenever testing needs to be done bypassing the UI or need
to test the code with different test data before its can take place n the build, white box
testing methodology is used.

Created by H19N191913LSree Budhavarapu Page 2 of 7


[email protected]
Gray Box Testing: Falls between black box and white box testing methodologies. Backend
testing is an example of gray box testing.

Bug Tracking System: A database driven application used to create, track the different
status of the bug during its life is bug tracking system. Report generation capabilities of
the bug tracking system enables look at the bug count against a particular build,
environment, functional module, assigned to individual developer or submitter. Bug tracking
also helps in looking at the bugs found versus bugs fixed and verified and test coverage, a
key measure to determine the readiness of the application for release.

Build: The process of getting all related software components together and making a
workable application is build. The process involves compiling the code together and making
sure all necessary components exists to run the application successfully and then making all
binary code to machine code for deployment.

Deployment: The process of coordinating the hardware and software components of the
application to make it workable is deployment. This involves copying the code to respective
servers and integrating different hardware components together and making sure hardware
and software components communicates each other without any interruption.

Version Control System: To enable collaborative development process smooth and


recoverable (if any error occurs in coding) as well as the ability to keep history of code
changes version control systems are used. This is software that is capable of keeping
history of the code changes with control access features. Example: Microsoft Visual Source
Safe, Perforce, PVCS, CVS, Clear Case.

Test Plan: High level document that describes overall planning in testing a specific release
of the application specifying supported environments, databases, third party applications
and resource management. This document also serves as guide line document from both
technical and managerial point of view. By going through this document one can assess the
overall test strategy of the application.

Test Case: A detailed step by step documentation that describes navigation path, input
parameters, functional steps and expected results.

Difference between EXE and DLL: Executable occupies memory of the computer even
when user is not using that specific application where as DLL are called whenever needed
and when the call to the DLL is closed the .DLL is unloaded from the memory automatically.

Created by H19N191913LSree Budhavarapu Page 3 of 7


[email protected]
Introduction to UI Automation Testing: It’s a well known fact that during QA cycle one
has to take care of ongoing test case execution as well as regression testing. If QA
engineers are occupied with regression testing, there can not be much progress on test
coverage. Hence automating the test cases that are already tested once took precedence.
There can be different ways of automating the test cases, like UI automation, backend
automation and middle tier automation. Our topic of interest here is UI automation.

The process of testing the application with the help of a external script that mimics the
user actions of a test cases and runs on the specific application under test is automated UI
testing. Most commonly used UI based automation testing tools are listed below.

• Quick Test Professional from Mercury Interactive


http://www.mercury.com/us/products/quality-center/functional-
testing/quicktest-professional/

• Silk Test from Segue software


http://www.segue.com/products/functional-regressional-testing/silktest.asp

• Win Runner from mercury Interactive


• Test Complete from AutomatedQA
• Visual Test from IBM (formerly Rational software)
• Team Test from IBM (formerly Rational software)

Quick Test Professional:


A key word driven automation testing tool capable of testing the application from it’s UI by
mimicking the user actions of the test case through a automation script. The language used
in developing the scripts is VB Script.

Key features of QTP:

Record & playback


Check points
Parameterization
Output values
Multiple actions in a single script
Object repository
Database checkpoints
Data driven test case development

Created by H19N191913LSree Budhavarapu Page 4 of 7


[email protected]
Load & Performance Testing Using Load Runner:
Load Runner executes a recorded user actions script (recorded in Virtual User Generator)
after required changes to the script with proper run time settings. Before attempting to
use any automated testing tool for Load & Performance testing, test cases that addresses
the AUT’s functionality and test scenarios that involves business case flows of the user
need to be designed.

The general flow in Load Runner is as follows.


VU Gen
• Record the script using Virtual User Generator (VU Gen).
• Parameterize the hard codes values
• Run Correlation studio to address dynamic URLs and session IDs that prevents the
script to run next time after recording.
• Set Rendezvous points as per the test case.
• Run the script within VuGen to make sure correlations and other customizations are
working fine

Controller:
• Create a scenario with one or more VuGen scripts
• Set design time parameters that involves adding more machines to run pool as well
as number of Virtual users to be executed.
• Set Run Time parameters that dictates ramp up, duration and ramp down of scenario
execution and scheduling.
• Execute the scenario.

Analysis:
• Once scenario is executed in Controller, select Analysis icon on tool bar to create
analysis report to be opened in analysis module.
• Graphs for each measure with respect to time of execution can be seen here with
summary of results.
• At any time we can overlay different graphs to see more than one measure with
respect to each other while x-axis always shows time of execution.

Controller sends the information as recorded in the script in the protocol it was recorded
and reads the reply from the server for validation. During the process, throughput,
response time, transaction information, hits per second, CPU and memory utilization of the
server and client are recorded.

Scenarios can be created either manual or goal oriented. If its goal oriented, predefined
goals are available within Load Runner and can be designed on need based.

Created by H19N191913LSree Budhavarapu Page 5 of 7


[email protected]
Frequently Asked Interview Questions:

Tell about your self (means QA experience).


Talk about SQA experience like, I have 4 years of diversified SQA experience in
testing web applications and standalone desktop applications with very strong hands
on experience with automation tools with quick test professional and load runner. I
have Strong functional knowledge in CRM, financial and mortgage applications.

What’s the difference between test case and test plan?


Test plan is high level document that explains overall planning for testing and
releasing a software application including scope, supported platforms, resource
planning and time schedules. Where as Test case is a detailed document that
describes step by step procedure that explains user actions to test the application
including specific input parameters, functional specific actions and expected output
that can be verified.

Explain your role in recent project?


Explain your role specific to recent project including your interactions with
different groups in your organization like product management, marketing,
development and support with respect to your distinct contributions in (specify a
module of your application if applicable) testing the product.

Explain software development life cycle


Refer to the respective section in this document on page 1

Explain QA life cycle.


Refer to the respective section in this document on page 1

Do you have any automation testing in the project? If yes what’s the tool and explain
the process.
Please say yes, if you are comfortable in explaining the automation process. Explain
the process right from evaluation, test case development, frame work development
and automating the test cases.

You do not have any documentation to go through and you need to be on your toes to
release product, how do you about it?
This is common question if you are interviewing for a start up size companies. The
answer goes like this. First I will talk to the product management group to
understand the application from user’s perspective and then talk to development to
understand how the application is developed including detailed architecture and data
base schema of the application. Exit criteria needs to be arrived at after
understanding business workflows and regular bug tracking mechanism needs to
follow to release the product.

Created by H19N191913LSree Budhavarapu Page 6 of 7


[email protected]
What are different test methodologies you know of?
Black box, white box and gray box

Tell me what are different test types?


UI testing, Functional testing, Integration testing, System testing, Load and
Performance testing

Do you know anything about Load testing? If yes, explain.


Please refer to Load and Performance testing section above.

What’s a bug tracking system and what did u use for tracking bugs?
Please refer to Load and Performance testing section above.
Did u use any version control systems?
Yes, different version control systems are Visual Source Safe, PVCS, CVS, Perforce,
Clear Case.

What is RDBMS? Explain your experience with data bases?


Relational Data base Management System

Explain SELECT, UPDATE and INSERT SQL statement.


SELECT column_name1, column_name2 from table name

UPDATE table
Set column_name = ‘value’
Where <condition>

INSERT into table_name


Values in (val1, val2, …valn)

What are ODBC and DSN and where it is useful?


ODBC - Open Data base Connectivity
DSN – Data source Name

Created by H19N191913LSree Budhavarapu Page 7 of 7


[email protected]

You might also like