0% found this document useful (0 votes)
37 views30 pages

STM-lab-manual VMTW

The document is a lab manual for Software Testing Methodologies (CS625PE) for the academic year 2025-2026 at Vignan’s Institute of Management and Technology for Women. It outlines various experiments related to software testing, including recording modes, GUI checkpoints, and data-driven testing, along with procedures for each experiment. Additionally, it discusses the importance of software testing, its objectives, types, and the distinction between errors, bugs, defects, and failures.

Uploaded by

Anitha Vazzu
Copyright
© © All Rights Reserved
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)
37 views30 pages

STM-lab-manual VMTW

The document is a lab manual for Software Testing Methodologies (CS625PE) for the academic year 2025-2026 at Vignan’s Institute of Management and Technology for Women. It outlines various experiments related to software testing, including recording modes, GUI checkpoints, and data-driven testing, along with procedures for each experiment. Additionally, it discusses the importance of software testing, its objectives, types, and the distinction between errors, bugs, defects, and failures.

Uploaded by

Anitha Vazzu
Copyright
© © All Rights Reserved
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/ 30

SOFTWARE TESTING METHODOLOGIES

LAB MANUAL

Subject Code : CS625PE


Regulation : R22

Academic Year : 2025-2026

III B. TECH II SEMESTER

COMPUTER SCIENCE AND ENGINEERING

VIGNAN’S INSTITUTE OF MANAGEMENT AND TECHNOLOGY FOR WOMEN

Kondapur(V), Ghatkesar(M), Medchal District - 501 301.


Sponsored by
Lavu Educational Society

(Approved by AICTE and Affiliated to JNT University, Hyderabad)


DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Course Name: STM LAB Course Code: CS625PE
Year/Semester: III/II Regulation: R22

S. No List of Experiments Page No.


1 Recording in context sensitive mode and analog mode
2 GUI checkpoint for single property
3 GUI checkpoint for single object/window
4 GUI checkpoint for multiple objects
a) Bitmap checkpoint for object/window
5
b) Bitmap checkpoint for screen area
6 Data driven test through excel test

7 Batch testing without parameter passing

8 Data driven batch

9 Test Case For Calculator In Windows Application

FACULTY HOD, CSE


DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
INTRODUCTION TO SOFTWARE TESTING
Software Testing is the process of identifying the accuracy and quality of the software product
and service under test. Apparently, it was born to validate whether the product fulfils the particular
prerequisites, needs, and desires of the client. At the end of the day, testing executes a framework or
application with a specific end goal to point out bugs, errors or defects. The responsibility of testing is
to point out the issues of bugs and give Dev (Developers) a clue to help them fix it right following the
requirements.
• Software Testing Objectives:
• Uncover as many as errors (or bugs) as possible in a given product.
• Demonstrate a given software product matching its requirement specifications.
• Validate the quality of a software using the minimum cost and efforts.
• Generate high-quality test cases, perform effective tests, and issue correct and helpful problem
reports.
Software testing is often divided into 2 main processes: Verification and Validation.
Verification in software testing is the process when your team just need to check whether the
software, system or framework consistent, aligned with the requirements of a documentation.
Validation is the process that your team needs to verify accuracy of the system. In this process, you
will look back to product, system and think about what users actually want and what has been done.
In Software Testing, there is the difference between Errors, Defects, and Bugs that we should
distinguish clearly to avoid misunderstanding problem.

Error is a deviation from the actual and the expected result. It represents the mistakes made by people.
Bug is an error found BEFORE the application goes into production. A programming error that causes
a program to work poorly, produce incorrect results, or crash. An error in software or hardware that
causes a program to malfunction.
Defect happens once the error is identified during testing; it is logged as a ‘Defect’ in the tracking
system.
Failure is the incapacity of a system to conduct its required functions within clarified performance
requirements, literally a disappointment or a letdown. And no one wants to do business with a failure.

• Why is Software Testing important?


One of the controversy topics that is mentioned in a long meeting before starting or after
reviewing a project’s sprint is about the associated costs of fixing bugs. The more extended a bug goes
undetected, the more exorbitant it is to settle. Basic costs versus benefits investigation will indicate
overwhelmingly that the advantages of utilizing a QA Testing Engineer to approve the code far exceed
the expenses.
Besides the expensive cost needed to be paid for the delay of detecting bugs, if the testing team
missed out on capturing or identifying the risks and software issues accurately or exhaustively it can
lead to some disasters. For example: It took NASA 7 years to identify gigantic hole in the sky due to an
error in the data analysis software, the huge hole in the ozone was flagged as a software issue in the
system and was ignored because they did not expect such an extreme deviation in the results thrown up
by the software.
When NASA engineers reviewed their raw data, they realized that their satellites had indeed
detected the hole long ago, but they completely missed it. So that, here are 5 reasons why every
member of the team should take an eye on Product Testing for the whole process.

To ensure there is no difference between the actual and the expectation


Software testing is created to detect any problems occurred during coding and developing a new
function or feature of a software product before it is delivered to the end users. These upcoming
features should be correctly matched with what it is supposed to be. Also, Testing tool will be a
gadget checking whether your team decently refers to the requirement. Hence, it basically is a device
helping to close the gap between actual and expectation in making a software product.

To make sure your product is powerful enough no matter how many people are using.
There is a big distinction when there is a person using your product referring to hundreds of
people trying to do the same thing at the same time. Your software needs to be strong enough to
guarantee that there will be no crashing down or loading annoying happened when a number of people
are trying to run your products. Therefore, it should be smoothly and perfectly working with everyone.

To figure out as many as possible the chance of bugs generating.


It can’t be denied to say that nothing is perfect. There is always some unseen problems which
may generate during using your application. The responsibility of testing tool is to avoid bugs found by
users. We, who develop this application/software product should take the duty of falling down as many
as possible the number of bugs which may interrupt users in future, so deliver the best experience for
our users whilst using our apps.
To offer a product that can perfectly work on different browsers and tech devices
At the booming moment of this technology era, we, fortunately, welcome the existence of a
number of technology devices, browsers, and operating systems, giving us the chance to choose
different technology instruments to greater our tech experience. Therefore, the stress of creating an
application or product which could perfectly work on most of the technology instruments has never
been so great before.
To deliver the best product that we can.
Again, testing tool is created to provide the most excellent software product and service to the
end users. Of course, we couldn’t bring the best (since there is nothing perfect, we all know) but we
could minimize the chance of bugs occurred within our capability. Before releasing, we could be proud
and confident enough on the product we bring to market. In any case, unseen bugs may have a real
impact on a real person. Therefore, if we could have a chance to encounter the bug before the users find
it out, nothing could be greater than this.
Type of Software Testing:

Testing is surely a fundamental part of software development. Poor testing methodologies cause
the troublesome products and unsustainable development. Having a well-prepared testing plan makes a
product be more competitive and assure the products coming in a predictable timeline associated with
high quality.
Apparently, a product is usually tested from a very early stage when it is just a small code tested
piece by piece then being tested at the final of development when it is under the shape of a full
application or software product in general. Of course, there are a number of Software Testing types out
there (more than 100 different types in general); however, at the beginning, we just need to adjust a few
common types that every product usually goes through before going further.
Unit Test
It is not exaggerated saying that people usually hear about Unit Test before getting noted about
the software testing industry since it is the most basic testing used at the developer level. We focus on
the single piece of unit code whilst it is already isolated from any outside interaction or dependency on
any module before. This test requires the developer checking the smallest units of codes they have
written and prove that units can work independently.
Integration Test
Still, at the developer level, after Unit Test, the combination (or integration) of these smallest
codes should also be checked carefully. Integration test provides the testing modules which access to
network, databases and file system. They will indicate whether the database and the network are
working well when they are combined into the whole system. Most importantly, the connection
between small units of code tested in the previous stage will be proven at this stage.
Functional Testing
There is no doubt to claim that functional testing is the higher level of test type should be used
after Integration Test. Functional tests check for the accuracy of the output with respect to the input
defined in the specification. Not much emphasis is given to the intermediate values but more focus is
given on the final output created.
Experment 1

Recording in context sensitive mode and analog mode

Procedure:

For context sensitive mode:


1. Launch Ui.vision RPA on chrome/firefox Browser
2. Set in web-mode
3. Select suitable URL for recording
4. Click on record button
5. Perform activities on selected url page
6. Stop recording by clicking on stop icon in ui.vision
7. Replay test.
For analog mode:
1. Launch Ui.vision RPA on chrome/firefox Browser
2. Set in desktop-mode
3. Open calculator /paintbrush application from desktop
4. Do xclick-in target e-select to capture window items/by mouse movement
5. Perform activities on selected application
6. Stop
7. Replay test.

Program with screenshots:


-context sensitive mode
- Analog mode of recording(Desktop-mode)

L
OUTPUT: Recorded and replayed in context sensitive and analog mode:
Experment 2: GUI checkpoint for single property
Procedure:

1. Launch Ui.Vison RPA in web-mode


2. Open testing url page in browser ex: http://www.tutorialsninja.com/demo/
3. Select and type search box ex:iphone
4. Assert value /checkpoint as actual=iphone and expected :iphone or any
5. Verify element present in page
6. If element present
7. Replay test for pass/fail

Program with screenshots:

Log: (Test-passed)
Screen-shot:

GUI-editor-(Test-failed)

LOG(Test-failed)

OUTPUT: Two test-cases are designed 1-passed. 1-failed


Experment 3: GUI checkpoint for single object/window

Procedure:

1. Launch Ui.Vison RPA in web-mode


2. Open testing url page in browser ex: http://www.tutorialsninja.com/demo/
3. Select and type search box ex:imac
4. visualyverified/checkpoint for single object as actual=imac and expected :iphone or any
5. Verify element present in page
6. Test for pass/fail

Program with screenshots:


Test: Selected single object (actual iphone-image)

Log:

Screen-shot for (selected imac-image) –not matched

OUTPUT: Checkpoint for single object –failed because actual image-imac, expected:iphone
Test-case failed.
Experment 4 GUI checkpoint for multiple objects

Procedure:

1.Launch Ui.Vison RPA in web-mode


2.Open testing url page in browser ex: http://www.tutorialsninja.com/demo/
3.Select and type search box ex: iphone
4.visualyverified/checkpoint for single object as actual=iphone(image) and
expected :iphone(image) and ihone(text)
5.Observe element present in page
6.Test for pass/fail

Program with screenshots:

Log :
Screen-shot (object-1: iphone image)

Screen-shot (object-2: iphone text)

OUTPUT: Asserted Two object checkpoints , Both object are verified.-Test-passed


Experment 5: a) Bitmap checkpoint for object/window
b) Bitmap checkpoint for screen area

Procedure:

a) Bitmap checkpoint for object/window

1. Launch Ui.Vison RPA in web-mode


2. Open testing url page in browser visite Bitmap images site ex: https://www.google.com/search?
q=bitmap+graphic+images&rlz=1C1OKWM_enIN919IN919&tbm=isch&source=iu&ictx=1&fir=MB0PCY1J - 8BInM%252C6jNoHMJVU_4ShM
%252C_&vet=1&usg=AI4_kRJhjMSA4yi2ogjf5AUd15FnHfdYw&sa=X&ved=2ahUKEwiOw8LY79fxAhVuzzgG
HQTgD6MQ9QF6BAgKEAE&biw=1366&bih=625#imgrc=MB0PCY1J-8BInM

3. Select bit-map image ex: round


4. Choose checkpoint within selected nit-map-image
5. Visually assert/checkpoint for sub-object within main object ex: bicycle in main round
image
6. Check Test for pass/fail

b) Bitmap checkpoint for screen-area


1. Launch Ui.Vison RPA in web-mode
2. Open testing url page in browser visite Bitmap images site ex: https://www.google.com/search?
q=bitmap+graphic+images&rlz=1C1OKWM_enIN919IN919&tbm=isch&source=iu&ictx=1&fir=MB0PCY1J - 8BInM%252C6jNoHMJVU_4ShM
%252C_&vet=1&usg=AI4_kRJhjMSA4yi2ogjf5AUd15FnHfdYw&sa=X&ved=2ahUKEwiOw8LY79fxAhVuzzgGH
QTgD6MQ9QF6BAgKEAE&biw=1366&bih=625#imgrc=MB0PCY1J-8BInM

3. Select bit-map entire screen/window


4. Choose checkpoint bit-map-image within screen area
5. Visually assert/checkpoint for sub-object within main screen area
6. Check Test for pass/fail

Program with screen shots:


Log (variable)

Screen-shot: Bitmap-object-matched

b) Bitmap checkpoint for screen area.

Log : statusOK==false

Captured-screen-area:
Bitmap-image-to be verify:

Test-#2: Actual and expected images matched:

Log: statusok==true

OUTPUT: Test#1,Test#2 are performed , verified Test#1:failed,Test#2:passed


Experment 6: Data driven test through excel test

Procedure:
Install UiPath IDE:
 Open UI in testing activities mode
 Install UiPath testing activities package
 Install UiPath.UIautomation activities

1. Create testcase(by double clicking on icon)


2. Open file -> open –sequence –give file name ex ‘addition’
3. Dropdown “assign-icon” into sequence diagram
4. Set argument “ num1,num2,num3 as ‘in’ and ‘int32’ and result=num1+num2+num3
set in assign diagram.
5. Select ‘addition’ from project view and right-click to select Data driven test
and choose input excel-sheet ->import Then “given->when-then” workflow UML
diagram opens.’ex:in1,in2,in3,res=appear in argument section change data-type.
Insert ‘result’ argument as’in/out’ mode.
6. Chose Then-block, to imported arguments-> appear as ‘num1..num3’ bind value
field to n1,n1,n3,res->result
7. Drag-and-drop ‘verify expression’ into Then box ‘set as’result.Tostring+res.Tostring’
8. Save all
9. Run Test for Pass/fail

Program with screenshots:


Excel-sheet-input data:
Testcase: workflow:
Arguments from excel-imported to when-dialogbox

Output:
Experment 7: Batch testing without parameter passing

Procedure:

1. Launch Ui.Vision RPA


2. Select macro-menu, open two/more files ex:vmtw,login-files
3. Chose test-suite: combine import vmtw+login macros
4. Name Test-suit: ex Batch-test
5. Play /run from Batch-test
6. Observe Test-case for Pass/fail.

Procedure with screenshots:


Output: log-file
 status]Playing test suite Old_Style_Testsuites_(Deprecated)
 [status]Playing macro vmtw
 [info]Executing: | open | http://www.vmtw.in/ | |
 [info]Executing: | clickAndWait | linkText=DEPARTMENTS | |
 [info]Executing: | clickAndWait | linkText=COMPUTER SCIENCE & ENGINEERING | |
 [info]Executing: | clickAndWait | linkText=About CSE Dept | |
 [info]Executing: | clickAndWait | linkText=CSE Toppers | |
 [info]Macro completed (Runtime 13.55s)
 [status]Playing macro login
 [info]Executing: | open | http://www.tutorialsninja.com/demo/ | website |
 [info]Executing: | type | name=search | iphone |
 [info]Executing: | click | xpath=//*[@id="search"]/span/button | search |
 [info]Executing: | click | css=#content > div:nth-child(8) | |
 [info]Executing: | pause | 2000 | |
 [info]Executing: | visualVerify | dneybc_dpi_96.png | object-1 |
 [info]Executing: | pause | 2000 | |
 [info]Executing: | visualVerify | ydwzjw_dpi_96.png | object-2 |
 [info]Macro completed (Runtime 11.22s)
 [report]Test Suite name: Old_Style_Testsuites_(Deprecated)
 Start Time: Wed Jul 21 2021 19:00:55 GMT+0530 (India Standard Time)
 Overall status: OK, Runtime: 25.78s
 Macro run: 2
 Success: 2
 Failure: 0
Macro executed:
vmtw (OK, Runtime:
13.87s) login (OK,
Runtime: 11.50s)
Experment 8: Data driven batch
Procedure:

1. Launch Ui.Vision RPA


2. Select macro-menu, open two/more files Databatch(2-times)
3. Chose test-suite: combine import Databatch+ Databatch macros
4. Name Test-suit: ex DataBatch-test
5. Play /run from DatbBatch-testsuit
6. Observe Test-case for Pass/fail.

Program with screenshots:

JSON-code:
{
"Name": "DCsvSave",
"CreationDate": "2021-7-21",
"Commands": [
{
"Command": "store",
"Target": "slow",
"Value": "!replayspeed",
"Description": ""
},
{
"Command": "open",
"Target": "https://ui.vision/demo/csvsave",
"Value": "",
"Description": ""
},
{
"Command": "executeScript_Sandbox",
"Target": "var d = new Date(); m = d.getFullYear()+\"-
\"+(d.getMonth()+1)+\"-\"+ d.getDate()+\" \"+ d.getHours()+\":\" +
d.getMinutes() + \":\" + d.getSeconds(); return m",
"Value": "timestamp",
"Description": ""
},
{
"Command": "store",
"Target": "${timestamp}",
"Value": "!csvLine",
"Description": ""
},
{
"Command": "echo",
"Target": "First column in the CSV is time (${timestamp})",
"Value": "",
"Description": ""
},
{
"Command": "echo",
"Target": "Set i = 1 as we start the extraction with the 2nd table
cell.",
"Value": "",
"Description": ""
},
{
"Command": "store",
"Target": "1",
"Value": "i",
"Description": ""
},
{
"Command": "while_v2",
"Target": "(${i} < 8)",
"Value": "",
"Description": ""
},
{
"Command": "executeScript",
"Target": "return Number (${i}) + 1",
"Value": "i",
"Description": ""
},
{
"Command": "echo",
"Target": "Current value of i = ${i}",
"Value": "i",
"Description": ""
},
{
"Command": "storeText",
"Target":
"//*[@id=\"gcw_mainFNGP5XSu6\"]/div[2]/table/tbody/tr[2]/td[${i}]/a",
"Value": "c2",
"Description": ""
},
{
"Command": "store",
"Target": "${c2}",
"Value": "!csvLine",
"Description": ""
},
{
"Command": "echo",
"Target": "Extracted Value for i=${i} is exchange rate = ${c2}",
"Value": "",
"Description": ""
},
{
"Command": "end",
"Target": "",
"Value": "",
"Description": ""
},
{
"Command": "echo",
"Target": "${!csvLine}",
"Value": "",
"Description": ""
},
{
"Command": "comment",
"Target": "Append content of !csvLine to CSV file (or create file if
none exists)",
"Value": "",
"Description": ""
},
{
"Command": "csvSave",
"Target": "CurrencyConverterData",
"Value": "",
"Description": ""
},
{
"Command": "comment",
"Target": "If needed, you can download (save) the CSV data from the
CSV tab to the the download folder",
"Value": "",
"Description": ""
},
{
"Command": "localStorageExport",
"Target": "currencyconverterdata.csv",
"Value": "",
"Description": ""
}
]}
Log:Output:
 Test Suite name: databatch
 Start Time: Thu Jul 22 2021 00:40:07 GMT+0530 (India Standard Time)
 Overall status: OK, Runtime: 23.53s
 Macro run: 2
 Success: 2
 Failure: 0
Macro executed:
databatch (OK, Runtime: 13.00s)
databatch (OK, Runtime: 9.89s)
Experment 9: Test case for calculator in windows application

Procedure:
1. Launch Ui.vision RPA on chrome/firefox Browser
2. Set in desktop-mode
3. Open calculator application from desktop
4. Do xclick-in target e-select to capture window items/by mouse movement
5. Perform activities on selected application
6. Stop
7. Replay test.

Program with screenshots:

L
OUTPUT: Tested Addition functionality of calculator and passed.

You might also like