tag:blogger.com,1999:blog-69961649514714021022024-03-13T14:52:42.364-07:00WorldTechTipsSupports tech world queries and discussion. Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.comBlogger31125tag:blogger.com,1999:blog-6996164951471402102.post-54964242849933132552024-03-13T05:56:00.000-07:002024-03-13T05:56:50.423-07:00Unveiling the Power of ChatGPT: Transformative Conversations with AI<p><span style="font-family: arial;">Hello Friends,</span></p><p><span style="font-family: arial;">After a break, I am back again. Please find the interesting topic on ChatGPT</span></p><p><span style="font-family: arial;">In the rapidly evolving landscape of artificial intelligence, ChatGPT stands out as a remarkable achievement, pushing the boundaries of natural language processing. Developed by OpenAI, this advanced language model has found its way into diverse applications, captivating tech enthusiasts, businesses, and creatives alike.</span></p><p><span style="font-family: arial;"><br /></span></p><p><span style="font-family: arial;"><b>Understanding ChatGPT:</b></span></p><p><span style="font-family: arial;">ChatGPT is more than just a conversational tool; it's a sophisticated language model that demonstrates a deep understanding of context and semantics. It has become a reliable companion for content creators, providing valuable assistance in generating text, brainstorming ideas, and refining written content.</span></p><p><span style="font-family: arial;"><b>Versatility in Conversations</b>:</span></p><p><span style="font-family: arial;">One of ChatGPT's key strengths lies in its ability to engage in versatile conversations. Whether you're seeking information, brainstorming ideas, or just having a casual chat, ChatGPT adapts to the context, making interactions seamless and meaningful.</span></p><p><span style="font-family: arial;"><b>AI-Powered Creativity</b>:</span></p><p><span style="font-family: arial;">For writers, bloggers, and content creators, ChatGPT serves as a valuable writing assistant. It effortlessly generates coherent and contextually relevant text, helping streamline the creative process. This not only boosts productivity but also opens new possibilities for innovative content creation.</span></p><p><span style="font-family: arial;"><b>Upcoming Features</b>:</span></p><p><span style="font-family: arial;">As the AI landscape continues to evolve, OpenAI is actively working on enhancing ChatGPT's capabilities. Upcoming features may include improvements in contextual understanding, multimodal integration, and refined response generation. These developments promise an even more powerful and versatile tool for users.</span></p><p><span style="font-family: arial;"><b>Training Opportunities</b>:</span></p><p><span style="font-family: arial;">For those eager to delve deeper into ChatGPT's operations, there are training opportunities available. OpenAI and other reputable platforms offer courses covering model understanding, use case implementation, and hands-on experience with the technology. These courses empower individuals to harness the full potential of ChatGPT in their respective domains.</span></p><p><span style="font-family: arial;"><b>Embracing the Future</b>:</span></p><p><span style="font-family: arial;">In the quest for technological excellence, ChatGPT stands as a testament to the progress in natural language processing. Its impact spans across industries, from content creation to customer support, showcasing the transformative potential of AI in our daily lives.</span></p><p><span style="font-family: arial;">As we embrace the future of conversational AI, ChatGPT stands at the forefront, promising new horizons in communication, creativity, and problem-solving. The journey with ChatGPT is not just about leveraging advanced technology; it's about unlocking new dimensions of human-machine collaboration.</span></p><p><span style="font-family: arial;">Thank you for visiting.</span></p>Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-19132934189450186552020-05-02T12:54:00.000-07:002020-05-03T03:06:54.509-07:00World changed forever<div dir="ltr" style="text-align: left;" trbidi="on">
Hello Friends,<br />
<br />
Due to pandemic world has changed forever. This is challenging technology world to scale up. In this article, I am trying to find out which technologies will be on forefront to help businesses and individuals. The following technologies will be compelling not only for running businesses but to survive in post pandemic world.<br />
<br />
1. Robotic Process Automation<br />
<br />
Earlier various businesses were using this as a tool to get the benefits of rearranging creative staff to work on most critical business scenarios and allowing bots to handle the mundane task. However, now RPA will become more crucial for businesses to keep running and survive. With cognitive and intelligent RPA businesses will be able to remove the dependency on human for repetitive work but will be able to run the services without any manual intervention during any unprecedented human service shortage. This will become new norm and must have tool for every business in near future. Small businesses will start moving towards it more quickly by forming specialised core teams. Supply chain will have to accommodate RPA in core design to reduce human touches as much as possible.<br />
<br />
2. AI and Big Data<br />
<br />
Artificial intelligence and Big Data for predictive analysis and descriptive analysis was a choice of tool to handle most complex business problems. Post covid-19 world will have serious consideration on this to make it compelling component of each process design. Most of the businesses will design new AI algorithms and use big data to handle customer information. Like personal information handling rules, soon new rules will be formed on handling and processing data. Digital platforms will come up with new ways to understand digital activities to assist individual customers with more choices. New avenues will be opened up for businesses and individuals to connect and do the business and then this will become a new way of life. Those businesses will not asses and take the required measures quickly, will have to face tough survival challenges.<br />
<br />
3. IoTs<br />
<br />
In the new world, smart devices will take over on all the households. Humans will be trained to use them during early childhood. People without this knowledge will not be able to cope up with changed world. Businesses will be using new techniques to make more intelligent devices to communicate, entertain and help in daily chores. Smart homes will become more cheap and affordable as the technology will come up with efficient and cheaper options. Governing bodies will change policies to encourage people for sharing data on IoT platform to monitor health related data and support with essential services. Aged and challenged people will be mandated to be in such place for remote monitoring.<br />
<br />
4. Digital Security<br />
<br />
With so much of technological advancement and faster movement into the new world, new threats will come up. Most of the people will be on digital platform for creating contents or supporting the platform. Those are either have any criminal background or not able to adapt the new world will create digital threat. Governing bodies, Businesses and individuals will be compelled to make more secure transactions. This will open up a new battlefield which will become more intense than ever. With increased number of users, digital security will become must have feature. All products and services will have to declare how digital security feature is enabled and assure users on capabilities of digital combat techniques.<br />
<br />
These are only few things noted here, there are many more things like drone, autonomous vehicles and 3D technologies will have notable impact.<br />
<br />
We are working on digitisation for few decades now, but like this we were never challenged to scale up for the entire world. We have to adapt to this new world without much complaints as we always proved that we are most intelligent species and with high survival instinct.<br />
<br />
Happy reading and get ready for the new world.<br />
<br />
Please leave your comments.<br />
<br />
<br />
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com2tag:blogger.com,1999:blog-6996164951471402102.post-31814251189992264282019-11-28T08:00:00.000-08:002019-11-28T08:00:07.780-08:00Robotic Process Automation - My review<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
<br />
<div style="direction: ltr; language: en-GB; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; unicode-bidi: embed; word-break: normal;">
<span style="color: black; font-family: Verdana; font-size: 24.0pt; language: en-GB; mso-ascii-font-family: Verdana; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-color-index: 1; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: black; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-type: solid;">Robotic process automation (RPA) is an
emerging form of business process automation technology based on the notion of
metaphorical software robots or artificial intelligence (AI) workers</span></div>
<div style="direction: ltr; language: en-GB; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; unicode-bidi: embed; word-break: normal;">
<span style="color: black; font-family: Verdana; font-size: 24.0pt; language: en-GB; mso-ascii-font-family: Verdana; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-color-index: 1; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: black; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-type: solid;"><br /></span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; unicode-bidi: embed; word-break: normal;">
<span style="font-family: Verdana; font-size: 24pt;">Key Players –</span></div>
<br />
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; unicode-bidi: embed; word-break: normal;">
</div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0.38in; margin-top: 0pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 20.0pt;"><span style="font-family: Arial; mso-special-format: bullet;">•</span></span><span style="font-family: Verdana; font-size: 20pt;">UiPath</span><span style="font-family: Verdana; font-size: 20pt;"> </span></div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.04in; margin-top: 0pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 16.0pt;"><span style="font-family: Arial; mso-special-format: bullet;">•</span></span><span style="font-family: Verdana; font-size: 16pt;">Free
automation software – </span><span style="font-family: Verdana; font-size: 16pt;">UiPath</span><span style="font-family: Verdana; font-size: 16pt;">
Community Edition</span></div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.04in; margin-top: 0pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 16.0pt;"><span style="font-family: Arial; mso-special-format: bullet;">•</span></span><span style="font-family: Verdana; font-size: 16pt;">Clear
RPA training, </span><span style="font-family: Verdana; font-size: 16pt;">UiPath</span><span style="font-family: Verdana; font-size: 16pt;">
tutorial, and documentation</span></div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.04in; margin-top: 0pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 16.0pt;"><span style="font-family: Arial; mso-special-format: bullet;">•</span></span><span style="font-family: Verdana; font-size: 16pt;">Simple
interface which does not require strong programming skills</span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0.38in; margin-top: 0pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 20.0pt;"><span style="font-family: Arial; mso-special-format: bullet;">•</span></span><span style="font-family: Verdana; font-size: 20pt;">Automation
Anywhere </span></div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.04in; margin-top: 0pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 16.0pt;"><span style="font-family: Arial; mso-special-format: bullet;">•</span></span><span style="font-family: Verdana; font-size: 16pt;">Free
automation software – Automation Anywhere Community Edition</span></div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.04in; margin-top: 0pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 16.0pt;"><span style="font-family: Arial; mso-special-format: bullet;">•</span></span><span style="font-family: Verdana; font-size: 16pt;">The
secure and highly-encrypted program</span></div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.04in; margin-top: 0pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 16.0pt;"><span style="font-family: Arial; mso-special-format: bullet;">•</span></span><span style="font-family: Verdana; font-size: 16pt;">Online
RPA training centre</span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0.38in; margin-top: 0pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 20.0pt;"><span style="font-family: Arial; mso-special-format: bullet;">•</span></span><span style="font-family: Verdana; font-size: 20pt;">Blue
Prism</span></div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.04in; margin-top: 0pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 16.0pt;"><span style="font-family: Arial; mso-special-format: bullet;">•</span></span><span style="font-family: Verdana; font-size: 16pt;">Intuitive
and very illustrative design and architecture</span></div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.04in; margin-top: 0pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 16.0pt;"><span style="font-family: Arial; mso-special-format: bullet;">•</span></span><span style="font-family: Verdana; font-size: 16pt;">Effective
control room and schedulers</span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; unicode-bidi: embed; word-break: normal;">
</div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.04in; margin-top: 0pt; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 16.0pt;"><span style="font-family: Arial; mso-special-format: bullet;">•</span></span><span style="font-family: Verdana; font-size: 16pt;">A
great option for </span><span style="font-family: Verdana; font-size: 16pt;">.Net</span><span style="font-family: Verdana; font-size: 16pt;">
based platforms</span></div>
<br /></div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-54973311809039326532018-01-24T08:10:00.002-08:002018-01-24T08:44:53.656-08:00Excel Macro to List Files in Folder<div dir="ltr" style="text-align: left;" trbidi="on">
Hello,<br />
<br />
This post is to find how quickly we can list the files from folder in excel sheet. This is require if we want to know the file names and then manually searching them in folders is painful.<br />
<br />
Open excel and using developer tool, copy the following code -<br />
<br />
-------------------------------------------------------------------<br />
Option Explicit<br />
<br />
Sub Macro1()<br />
<br />
<br />
Dim fileRow As Long<br />
Dim SelectFolder, GetFileName, StartingFolder<br />
StartingFolder = "C:\"<br />
<br />
With Application.FileDialog(msoFileDialogFolderPicker)<br />
.InitialFileName = Application.DefaultFilePath & "\"<br />
.Title = "Select folder to list down files in Excel"<br />
.InitialFileName = StartingFolder<br />
.Show<br />
If .SelectedItems.Count <> 0 Then<br />
SelectFolder = .SelectedItems(1) & "\"<br />
GetFileName = Dir(SelectFolder, 7)<br />
Do While GetFileName <> ""<br />
ActiveCell.Offset(fileRow ) = GetFileName<br />
<br />
fileRow = fileRow + 1<br />
GetFileName = Dir<br />
<br />
Loop<br />
End If<br />
End With<br />
<br />
<br />
<br />
End Sub<br />
<br />
<br />
<br />
<br />
<br />
<br />
Save it and run it.. !<br />
<br />
You will get the list of files instantly. Simple.<br />
<br />
Keep simplifying!!<br />
<br />
<br /></div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com2tag:blogger.com,1999:blog-6996164951471402102.post-13336793916320568452017-09-18T08:31:00.000-07:002017-09-24T11:57:26.516-07:00What is Robotic Process Automation?<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal" style="text-align: left;"> One of my friends asked me if Selenium automation training will be beneficial. My response was affirmative
with some more additional information on the RPA. He was initially confused but
then asked me – “What is Robotic Process Automation?”</div>
<div class="MsoNormal" style="text-align: left;">
<br></div>
<div class="MsoNormal" style="text-align: left;">
I like to talk and write about
changing world around me in IT. One of
the changes in recent time is “Robotic Process Automation”.</div>
<div class="MsoNormal" style="text-align: left;">
<br></div>
<div class="MsoNormal" style="text-align: left;">
We have many mundane tasks in
Development, IT Support and Business Process. These tasks are repetitive in
nature and always follow fixed logic or set of rules. If we decide to automate
these tasks using simple automation tools like selenium for web applications or
Winium for desktop applications and integrate the automation scripts to appear
it as a single process then the outcome is the process flow. In other words, we
simply imitate the human steps from start to end in our automation scripts.</div>
<div class="MsoNormal" style="text-align: left;">
<br></div>
<div class="MsoNormal" style="text-align: left;">
So here, we need to create a
workflow, UI to show the results and automation scripts to perform tasks on
presentation layer of each application in scope. </div>
<div class="MsoNormal" style="text-align: left;">
<br></div>
<div class="MsoNormal" style="text-align: left;">
This is increasing need of
businesses now to reduce the cost of overall processing information through
outsource or in house processing desks.</div>
<div class="MsoNormal" style="text-align: left;">
<br></div>
<div class="MsoNormal" style="text-align: left;">
Why we need “Robotic Process
Automation”-</div>
<div class="MsoNormal" style="text-align: left;">
<br></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;">1.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal; text-indent: -18pt;">
</span><span style="text-indent: -18pt;">Robotic process automation is preferred to avoid
human errors in repetitive tasks</span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;">2.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal; text-indent: -18pt;">
</span><span style="text-indent: -18pt;">Automated process is always consistent and
accurate</span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;">3.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal; text-indent: -18pt;">
</span><span style="text-indent: -18pt;">Simplify the complex flow and use the expertise
in more complex area of work</span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;">4.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal; text-indent: -18pt;">
</span><span style="text-indent: -18pt;">Utilize the automated process during off working
hours when the Systems are more available</span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;">5.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal; text-indent: -18pt;">
</span><span style="text-indent: -18pt;">No monitoring is required. Audit trail can be
used for compliance and audit purpose</span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;">6.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal; text-indent: -18pt;">
</span><span style="text-indent: -18pt;">Reducing large unmanageable teams to small manageable
expert</span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;"><br></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;">Opportunities –</span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;"><br></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;">1.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal; text-indent: -18pt;">
</span><span style="text-indent: -18pt;">Consultant – Helps the organisation to automate
the processes by providing process mapping</span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;">2.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal; text-indent: -18pt;">
</span><span style="text-indent: -18pt;">Robotics Architect – Understand the technology
landscape and provide the solution fit for the purpose</span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;">3.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal; text-indent: -18pt;">
</span><span style="text-indent: -18pt;">Managers- Manage the process and have a bigger
picture of the organisation</span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;">4.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal; text-indent: -18pt;">
</span><span style="text-indent: -18pt;">Maintenance Engineers – Co-ordinates with
technical teams to maintain the Robots</span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;"><br></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="text-indent: -18pt;">Tools –</span>Many RPA tools are available to
learn the “Robotic Process Automation”.</div>
<div class="MsoNormal" style="text-align: left;">
<br></div>
<div class="MsoNormal" style="text-align: left;">
<br></div>
<div class="MsoNormal" style="text-align: left;">
Happy Learning – “Robotic
Process Automation”</div>
<div class="MsoNormal" style="margin-left: 106.35pt; text-align: left;">
<o:p></o:p></div>
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-41592909421067878392017-08-08T01:21:00.001-07:002017-08-08T01:21:44.616-07:00How to test Machine Learning Systems?<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">I was working on analytical project in Healthcare some time back
and heard a term used in development for data analysis – Descriptive analysis
and Predictive Analysis. I asked one of my directors and he explained it in simple
words which helped me to understand the basics. <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Descriptive analysis is summary of a given data set and Predictive
analysis is predicting future events with the help of current data set. I was
thrilled and wanted to work on predictive analysis.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Today, we implement predictive analysis using many things like
data mining, statistics, machine learning etc. So this post takes us through
what Machine Learning is, and more important how to test Machine Learning
Systems.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Let’s see, how we do the testing in general. In case of functional
testing and black box testing, we first understand the requirements. Then we
create test scenarios at high level including positive and negative. We write
test scripts with test steps to perform some actions. We create test data to
support execution of scripted test steps. Very simple. So here we know what the
expected result is? Hence in our test steps we have validation steps to check
if the expected result is achieved. Can we test something where we don’t have
set of expected results, answer is NO.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Now what changes here, in machine learning systems; is, we provide
the lessons to the systems to perform certain actions based on the lessons. So
machines will learn the lessons and perform actions based on the learning from
previous run. Each time we execute; different results are expected. Now we need
to test, is it performing as expected? Is it learning from its previous run?<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Here, we need to understand the algorithm and mathematical formula
used by the system to generate results. The testing will be based on the
algorithm and not on the straight forward expected results. Each time we may get
different results or incorrect results.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Following are the few pointers, testers need to remember –<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm; text-indent: -18.0pt;">
<span style="font-size: 13.5pt;">1.</span><span style="font-size: 7pt;"> </span><span style="font-size: 13.5pt;">Understand the architecture and algorithm
using mathematical coefficient to find out the working of the system,
expectation is to provide the inputs after testing to modify the algorithm if
required<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm; text-indent: -18.0pt;">
<span style="font-size: 13.5pt;">2.</span><span style="font-size: 7pt;"> </span><span style="font-size: 13.5pt;">Align with business on the acceptance
criteria. The results will have acceptable number of failures which business
should be aligned<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm; text-indent: -18.0pt;">
<span style="font-size: 13.5pt;">3.</span><span style="font-size: 7pt;"> </span><span style="font-size: 13.5pt;">Always create new test data and don’t use
the same test data. If test data repeated, the execution will not produce the
likely results. If possible automate test data generation to keep the good
number of test data ready.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm; text-indent: -18.0pt;">
<span style="font-size: 13.5pt;">4.</span><span style="font-size: 7pt;"> </span><span style="font-size: 13.5pt;">Do not use results as it is in any of the communication,
provide in depth analysis of the results. No one is expecting all pass results
from the communication but more analysis on the behaviour of the system.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">In upcoming posts, we will explore more on the machine learning
open source tools. Stay tuned. Happy Machine Learning!!</span></div>
</div>
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-80463905292442262872017-07-28T15:26:00.000-07:002019-09-10T09:03:21.752-07:00How to test EDI transactions?<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt; line-height: 107%;">One of my friends asked me
about the EDI transactions, so I thought of writing on testing EDI
transactions-<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt; line-height: 107%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: 16.0pt; line-height: 107%;">What is EDI?<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt;"><br /></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt;">Electronic data
interchange (EDI) is the computer-to-computer exchange of business documents
between business entities. Instead of sending documents by fax or email, EDI is
simple and digital way of communication.<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt;">EDI documents use
specific record formats that are based on widely accepted standards. However,
each company will use EDI in different ways to fit the business needs.<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt;">EDI is used in many
different industries to improve efficiency. Computer based information exchange
is less expensive than faxing or mailing paper documents. The processing cost
and processing time is less in case of EDI.<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt;">Trading partners
are the business partners who are involved in the transactions like generating
purchase order, sending purchase order etc. In healthcare industry, healthcare
providers are trading partners. <o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt;">For successful
implementation of EDI, trading partners should agree to the company about the
specific formats under EDI and should implement the same. This is called EDI
complaint trading partners.<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;">
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">EDI standards are as follows-</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> 1. ANSI ASC X12</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> 2. EANCOM</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> 3. UN/EDIFACT</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> 4. HIPAA</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> 5. ODETTE</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> 6. RosettaNet</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> 7. SWIFT</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> 8. Tradacoms</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> 9. VDA</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> 10. VICS</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">Here, we will go through ANSI ASC X12 EDI Documents-</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">X12 is a messaging standard developed by the American National Standards Institute (ANSI).</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">An X12 EDI document contains the following mandatory segments:</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">ISA Segment – Starting Segment</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">GS Segment – Starting Segment</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">ST Segment – Starting Segment</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">SE Segment – Corresponding ending segment of ST</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">GE Segment – Corresponding ending segment of GS</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">IEA Segment – Corresponding ending segment of ISA</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">Enveloping structure –</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">ISA</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> GS</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> ST</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> SE</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"> GE</span></span><br />
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;"><br /></span></span>
<span style="color: #444444; font-family: arial, helvetica, sans-serif;"><span style="font-size: 15.3333px;">ISE</span></span><br />
<br /></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt;">Within file any of
the loops Starting and Ending segment can be repeated. Within ST-SE the
transaction data elements are available. E.g. Invoice number / claim amount
etc.<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt;">Transaction types
like claim, remittance, Enquiry etc are denoted by transaction numbers and
available in the implementation guide.<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: 16.0pt; line-height: 107%;">How to test –<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt; line-height: 107%;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt; line-height: 107%;">The key of testing EDI transaction is to prepare
test data. As shown above, we need to create test files with correct structure.
These are nothing but a text files and easy to handle. Once the required files
are created then process them through the system build by developers and
validate the results. In general, request is sent as a file the response is
created as a file. In testing, we check the response file structure if it is
correct, if any data is missing etc.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt; line-height: 107%;">Usually this testing is test data intensive and
hence creating test files for all different scenarios is critical.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt; line-height: 107%;">For more information on latest news on X12 visit
the following link-<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif; font-size: 11.5pt; line-height: 107%;"><a href="http://www.x12.org/examples/">http://www.x12.org/examples/</a><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div class="MsoNormal">
<br /></div>
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-2160518463724685202017-06-21T12:30:00.000-07:002017-06-21T12:30:11.156-07:00Next Generation Automation - Bots<div dir="ltr" style="text-align: left;" trbidi="on">
I was sitting in my room and watching TV, I saw advertisement where the actor said "Alexa, reorder flour". I jumped out of chair and just said - "New Generation Automation has arrived, and this time in our day to day lives".<br />
<br />
This not only changed my mind but changed my search and blog for this month. I checked Amazon- Alexa, Apple- Siri ,Windows- Cortana and Google - ; these all are personal assistants to provide the requested information.<br />
<br />
Aha.... I have decided to write something on "ChatBots with IBM Watson"<br />
<br />
Lets create simple ChatBot with Watson. We need to create IBM - Bluemix account. This is free 30 days trial. The account creation is very simple.<br />
Enter your email, Name, password and location and submit. From email box activate the account and login.<br />
<br />
Once logged in, it will ask to create an organisation and space. Click on "I am Ready"<br />
<br />
1. Click on "Services"<br />
2. Click on "Watson"<br />
3. Click on "Conversation"<br />
4. Click on "Create"<br />
5. Click on "Launch Tool"<br />
6. Here we can create our own work space - click on Create button<br />
7. Create Intents now - Click on "Create" (Intent is nothing but the #<<servicename>> e.g. #sales)<br />
8. Add Intent name and examples<br />
9. Create Dialog and we are ready<br />
<br />
Now click on "Ask Watson". That's it we are ready with our first ChatBot, its very simple, isn't it?<br />
<br />
You can visit for more details-<br />
<br />
<u><a href="https://www.ibm.com/blogs/watson/2016/12/build-chat-bot/">https://www.ibm.com/blogs/watson/2016/12/build-chat-bot/</a></u><br />
<br />
Let start new journey of Bots!!<br />
<br />
<br />
<br /></div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-54984116987717562402017-04-30T11:25:00.000-07:002017-04-30T11:25:18.798-07:00Open Source Automation tool - SAHI<div dir="ltr" style="text-align: left;" trbidi="on">
Hi Friends, <br />
Thank you for visiting my blog. Today, lets see another open source tool -SAHI. <br />
<br />
SAHI is a web automation tool which is easy to use and helpful for cross browser as well as multi browser testing. SAHI works with any installed browser which supports JAVA scripts. It helps automating web applications which have AJAX and Dynamic web elements.<br />
<br />
SAHI has a dashboard i.e. friendly user interface to Select available browsers and links to various operations. SAHI controller is useful for record and play back. It uses SAHI, JAVA or Ruby for the same.<br />
<br />
The idea of SAHI is to inject JAVA script into webpages and create event handlers. SAHI uses own wrappers to identify elements in DOM. <br />
<br />
SAHI helps creating functions from the recorded script with just a click on the button. Creating library files for our automating test becomes easier.SAHI scripts can be executed on one browser, multiple browser or even on distributed machines. The most interesting part of execution is parallel run of the automated scripts. This feature makes it far more advance to test multiple scripts at the same time.<br />
<br />
This tool automatically adds wait for AJAX and dynamic controls so that the script will work smoothly. SAHI Pro also works with FLEX controls on the web pages. Screenshot capture is an inbuilt feature of tool hence no need to write a single line of code. Also, it provides all types of reports in form of Excel and HTML. Email feature can be used to send out reports after each execution. <br />
<br />
SAHI provides ANT script which we can add to deploy and can integrate with JENKINS like CI tools. This integration is simple. <br />
<br />
SAHI OS is free for lifetime, however SAHI Pro is free for one month only. SAHI Pro costs $695.<br />
<br />
The installation and setup is simple. Please find a free demo and check the tool on the following links -<br />
<br />
<a href="https://sahipro.com/docs/using-sahi/quick-tutorial.html">https://sahipro.com/docs/using-sahi/quick-tutorial.html</a><br /><a href="http://sahipro.com/request-a-demo/">http://sahipro.com/request-a-demo/</a> </div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-33711356017173255012017-01-15T09:29:00.001-08:002017-01-15T09:32:30.480-08:00Selenium for Desktop Application - Winium <div dir="ltr" style="text-align: left;" trbidi="on">
Wish you all Happy New Year 2017. This year, I am planning to bring more tools, techniques and frameworks for all my readers.<br />
<br />
I have few requests around the Windows based application automation which will be as simple as Web based automation using Selenium. Hence I thought of writing this post on "Winium" which is "Selenium for Desktop Application - Winium"<br />
<br />
Winium is simply Selenium Remote WebDriver implementation for testing Windows based application. Winium can be useful for Windows based application based on WinForms and WPF platforms. We need other drivers as well if the Application under test is Silverlight application. However the control positions can be the best option for some of the tricky applications.<br />
<br />
So when we are working on the complex applications pool under test and do not want license tools to complete the test automation requirement for Windows, Web and Mobile then we can consider Selenium for all in different forms. Hence for Windows - Winium, Web - Selenium WebDriver and for Mobile Appium.<br />
<br />
As Selenium supports Java, C#, PHP, Ruby, Python like languages, Winium also supports. As we have seen that Winium desktop driver implements Selenium Remote WebDriver and listens for JsonWireProtocol and use Winium Cruciatus, Winium Cruciatus is a C# framework for WinForms and WPF Platforms. <br />
<br />
Now, we have option to use core C# framework using Winium.Cruciatus or Selenium WebDriver remote using Winium.Desktop. Here the difference is the prior helps to write a code in C# using System.Windows.Automation namespace and the later helps to write the automation script in Selenium supported languages.<br />
<br />
As WebDriver implementation is simple, lets talk about core C# implementation using Winium. Cruciatus wrapper on the System.Windows.Automation namespace. First we need to add the reference to the project and then we need to create the mapping. Once the mapping is created use the mapping in tests. Its simple. <br />
<br />
Please refer example here -<br />
<a href="https://github.com/2gis/Winium.Cruciatus/tree/master/src/TestApplications.Tests">https://github.com/2gis/Winium.Cruciatus/tree/master/src/TestApplications.Tests</a><br />
<br />
Happy Automating Desktop Applications!</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-3707598844335057132016-11-20T09:56:00.002-08:002016-11-20T09:56:48.836-08:00Selenium Automation Framework<div dir="ltr" style="text-align: left;" trbidi="on">
Selenium automation is one of the biggest favourite for automation testers. One of the key factor to deliver the automation work is to build the required framework which will reduce the time to maintain the automation scripts.<br />
<br />
Lets find out what is Selenium automation framework in this post.<br />
<br />
Selenium Automation Framework is setting standards to make the development, maintenance and operations simple. In other words any one who wants to run the scripts and analyse the results should not see any complexities in operations. All the complexities will be hidden in a logic and the libraries.<br />
<br />
The first step is to find out about the application feasibility. This is very essential, remember Selenium works only with web applications and any windows based alerts will not be handled using webdriver. Autoit kind of tools are required to handle such alerts. So for any project to be successful the feasibility study is must.<br />
<br />
Next important step is to study the application flow. Straight forward steps and exceptional steps will be noted down and segregated. The requirement of test data for the steps are identified. Such data is more and follows the same steps each time then we will start thinking about data driven automation. Data driven steps are identified if certain type of data decides the flow and with all different sets of data the same steps are executed which results in different sets of outcome requires data driven framework.<br />
<br />
We also need to decide how the reporting should be done. Most simple reports are biggest advantage of framework however they are most complex to build in many cases. The tools for reporting like TestNG and Junit are widely used. However if you have enough time and demand for some specific reports then HTML reports are very useful.<br />
<br />
Now we know the framework for the project and reporting needs. We can start building library functions. These functions are as simple as opening client site, clicking on button and entering data in text field. The basic control should be targeted first.<br />
<br />
Another important step is to create the driver and decide how do you want to call the scripts. All the library functions and client scripts should take values from property files only. This way we can make sure that the same function can be used for different operations.<br />
<br />
Hope the above information gives basic idea of the selenium automatio framework. I will be waiting to hear from all of you.<br />
<br />
<br />
Happy framework designing. <br />
<br /></div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-79241755982253830292016-11-12T13:43:00.003-08:002016-11-12T13:43:33.292-08:00Security Testing<div dir="ltr" style="text-align: left;" trbidi="on">
This post is dedicated to the specialised branch of software testing - Software Security Testing.<br />
<br />
Before we get into Software Security Testing which is always part of Non Functional Testing unit we will see what are the types of Software Threats -<br />
<br />
1. Brute Force Attack<br />
<br />
Brute Force Attack is a vital information guessing technique. In this process automated system generates many combinations of user password or pin (personal identification number) to get into the business machines with the intention of stealing the data. These attacks are crafted very carefully so that automated system should get the access to the business systems quickly.<br />
<br />
2. Denial of Service<br />
<br />
This type of attack is on the critical business systems like bank, payment gateways, booking sites or critical news boards. The intention of this attack is to stop users to access the application. The attack is usually done by the automated system by creating virtual users in exponential process with the intention of blocking available bandwidth of server to deny access to any users who need information.<br />
<br />
3. SQL Injections<br />
<br />
SQL Injections are the SQL queries to read, modify or delete business critical information stored in the database using presentation layer. These attacks are easy and can be planned quickly. However these attacks are most of the time risky attacks and easy to track down.<br />
<br />
4. Trojan Attacks<br />
<br />
Trojan attacks are most common and easy to find. In these attacks users are presented with some of the interesting tasks like disk back up, disk fragmentation or memory management and at the background automated scripts are executed to steal information. These attacks are successful if the user follows instructions given on the websites without confirming with the security teams.<br />
<br />
<br />
5. Fishing<br />
<br />
These attacks are usually crafted by sending out emails to mass users. These emails are lottery, charity or some business proposals. Users fall for this type of invitations because the offer is very lucrative and directly comes to the email inbox. The email comes with some kind of URL to hit or buttons or images to click the confirmation so that users get trapped.<br />
<br />
<br />
Now we understand the possible attacks and threats to the business so the first task is to create test strategy to find out, in our client's business such vulnerabilities are present and if present raise an issue to fix them before the business application starts handling the user information or business critical information.<br />
<br />
Except the fishing attack all other types of attacks are tested using penetration tools. For fishing attack we usually inform the staff and add email scanners to scan the emails coming into the business network and going out of the business network. <br />
<br />
Open source tools used for testing above attacks are Aircrack-ng, Automatic backholing, SQLMap, <span class="st">pfSense and Gophish respectively.</span> <br />
<br />
Enjoy Security Testing!</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-71081569137399226462016-11-05T14:43:00.001-07:002016-11-05T14:43:05.303-07:00Mobile Testing<div dir="ltr" style="text-align: left;" trbidi="on">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-GB</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-fareast-language:EN-US;}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
Mobile testing or Mobile Application Testing is a complex
and time consuming process. Due to the immense pressure of quicker delivery to
the market, it is more critical to complete the task in less time. Let’s find
out, what Mobile Application Testing is all about. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Mobile application testing is a process where mobile
application is tested for usability, functionality and consistent performance.
Mobile testers use Mobile emulators to test the mobile applications. Mobile emulators
help to test the application on different devices without having physical
mobile phones present to test. Remember all mobile devices are on different platforms with
different screen sizes.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Screenfly and CrossBrowserTesting are two easy to use screen
emulators to test the mobile application. These emulators provide
screens with different sizes and with different platforms like iOS and Android.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The mobile
application testing can be manual or automated, however all new mobile
applications usually tested manually and then through automation. The usability,
application GUI, functionality are tested manually and automation is applied to
performance and testing the mobile application on various devices. If the
application is web application and accessible through a browser on the phone then
the testing will be different. Testing mobile application which requires application installation on mobile device will be tested using multiple emulators and hence requires automation.</div>
<div class="MsoNormal">
<span style="mso-spacerun: yes;"> </span> </div>
<div class="MsoNormal">
MonkeyTalk is one of
the open source automation tool which is very handy to automate functional
tests for iOS and Android applications. We can create data- driven tests using
MonkeyTalk.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Monkey is an automation tool which runs on Android emulators
and creates user events like clicks, touches or gestures. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
So from the above description, we have identified that
mobile application testing requires manual as well as automation testing. Due
to the complex nature and many mobile devices available in the market, mobile application
testing requires skills and detailed manual and automation plan. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Hope this information will help who wants to enter in mobile
application testing.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Happy Mobile Testing!</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span></div>
<div class="MsoNormal">
<br /></div>
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-74323853515684105722016-10-31T06:06:00.001-07:002016-10-31T06:06:26.716-07:00Automating using TestComplete<div dir="ltr" style="text-align: left;" trbidi="on">
During Diwali, few of my friends discussed about the UFT automation tool and asked me to provide my review on any other tool which can be used for desktop, web and mobile automation. Hence I thought of writing this post on Smart bear - Test Complete.<br />
<br />
One of my project required quicker automation to support desktop and web automation at the same time hence we reviewed the Test Complete and created the regression automation suite.<br />
<br />
Test complete supports <span style="background-color: white;"><span style="color: #3b4145; font-family: Titillium Web;">JavaScript, Python, VB Script, JScript, Delphi Script, C++Script, and C#Script </span></span>to create tests, however we decided to use VB Script and keyword driven framework.<br />
<br />
Test complete comes with Jenkins plugin which is helpful to create regression automation suite for continuous integration and delivery (CI and CD).<br />
<br />
Another feature we liked about the tool is integration with Tortoise Subversion. The SVN is widows integrated versioning tool.<br />
<br />
Test Complete provides built in test visualizer to capture the screenshots and object run time properties. This feature helps to understand the run time behavior of application feature.<br />
<br />
In addition to the available plugins we can build our own plugins to support various applications. We can also create our own customized check points to verify if application with changes is working as expected.<br />
<br />
Test Complete allows to run multiple test at the same time for desktop, web and mobile applications.<br />
<br />
The last but definitely not the least part of tool is reporting capabilities. Test complete generates informative and easy to understand reports. We can create custom reports easily.<br />
<br />
This automation tool for me is very easy to use tool with lot of inbuilt features and add ins.<br />
<br />
Keep Exploring!<br />
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-44154149253363435992016-10-22T15:40:00.002-07:002016-10-22T15:40:54.159-07:00Salesforce Automation using Selenium<div dir="ltr" style="text-align: left;" trbidi="on">
Salesforce is a Software as a Service (SaaS) application. This application is cloud based and from automation it is simple web based application.<br />
<br />
Salesforce comes with an option as Sales cloud, Service cloud or Marketing Cloud. For simplicity of this post we will limit it to Sales cloud (CRM - Customer Relationship Management). This is commonly called as SFDC - Salesforce dot com.<br />
<br />
Selenium webdriver is useful to automate, however the application uses iframe and CSS. Hence it is essential to first find out which element properties we will be using.<br />
<br />
Salesforce has dynamic elements and hence during automation it is always challenging to identify the correct properties and then checking the modified properties to use them. The Salesforce testing is completely depends on the quality test data. Hence in automation before we run our scripts we need to generate sufficient but quality test data. In addition, we need to remove it after execution is complete.<br />
This way we make sure that each time Selenium script will run, it will get the right data and right elements properties.<br />
<br />
We usually run the test data as a part of our scripts to generate the case ids. Once all the required and sufficient test data is generated, scripts will run with the scenarios and validations. After completion of execution the last part of the scripts will have cleaning up activity. This will make sure that we can use the same data generation scripts in future as well.<br />
<br />
The driver script is required which will be called by the test runner after initialization. So before we call the driver script to run the business flows we need to place our test data generation scripts. And at the end of each business flow, we need to run the clean up script.<br />
<br />
This application is simple and straight forward, however for automation using Selenium the major challenge is its dynamic elements and changing properties. e.g Name of the element present on the page changes as soon as it gets data filled in its other controls. This creates issue for the automation engineer who has created script using static values. The first time execution itself fails and requires to put some logic behind identifying such elements. Here we need to decide which locators we will use and for most of such dynamic controlls the best solution is to take them out in property files.<br />
<br />
If the above considerations are already in place then the Selenium webdriver is the best and quickest automation tool for Salesforce Automation.<br />
<br />
Keep Automating!<br />
<br />
<br /></div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-32972895256300793562016-10-09T11:29:00.001-07:002016-10-09T11:29:46.876-07:00ServiceNow Automation using Selenium<div dir="ltr" style="text-align: left;" trbidi="on">
Hello Friends, This week we will see something popular and simple to automate in Tech Ops area - ServiceNow<br />
<br />
ServiceNow is a cloud based application. ServiceNow is a Software as a Service (SaaS). ServiceNow application is created using Angular.JS. ServiceNow is useful for Tech Ops, for primarily handling Tasks like Incident, Problem, Change, Configuration, Environment etc. ServiceNow has many other modules however we will consider only above mentioned modules for automation.<br />
<br />
ServiceNow application is accessed using Webbrowser. Selenium web driver can be used to automate ServiceNow, however the application requires high amount of data hence the data driven and modular approach would be helpful. This kind of approach is hybrid approach for automating ServiceNow application. <br />
<br />
Few more details of ServiceNow application: Incident is logged in ServiceNow if any service does not work as expected. For example the password does not work. Incidents are closed as soon as service is provided. For example password is reset. All such incidents require analysis to find out reducing future occurances and hence the Problem is created. Problem will be only closed after the analysis is done. <br />
<br />
Change is requested in case the software, hardware or network changes are required. For example if network socket needs to be changed then the change request will be raised. The change approval board will sit together and decide the approval and timelines of change. This is called as CAB approval process. When the application configuration is requested it may partially or completely affect some of the services. Configuration approval will be given only on technical details of configuration. The last one in our list is Environment. Environment like SIT, UAT, Production etc requires updates and for code drop and configuration these environments will not be available for some time as specified in request. Hence Environment ticket raised will be dealt with utmost care especially for Pre-Production and Production environment.<br />
<br />
The above describes the ServiceNow application modules which we will automating in following sections.<br />
<br />
Incident module is simple to automate but requires more data. Some of the information is who is raising the ticket, is it for him or for someone else or for group. His location, category, subcategory, incident description, its priority etc. Problem is comparatively simple with less data. Change has more sections and has approval process hence with more data we need more steps to executes. Also change has more test scenarios. Configuration and Environment are simple compared to Change, the data is limited and test scenarios are also limited.<br />
<br />
Before starting automation one more key thing is user access and previlleges. Ideally we should have user access and admin access. The user access will be used to create issues and admin to approve or resolve the issues.<br />
<br />
As we have discussed above we will be handling more data and test scenarios, so we need to create data sheet accordingly. Once we have created data sheet as per the mandatory fields we will move on and create the common functionalities.<br />
<br />
The last thing is to create test runner after creating driver for data sheet. Simple!<br />
<br />
ServiceNow automation using Selenium is very simple. Isn't it?<br />
<br />
Happy Automating ServiceNow!</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com1tag:blogger.com,1999:blog-6996164951471402102.post-35776533607150423552016-09-29T12:45:00.000-07:002016-09-29T12:45:22.157-07:00Simple Environment test using VB Script<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
Many times you may encounter a situation where you are
responsible to test the web application in test environment and need to make
sure that the test environment is up and running.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
I have created a simple solution to help you test multiple environments
and collect the results even before you start your work.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Steps to test different environment –<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Open web browser<o:p></o:p></div>
<div class="MsoNormal">
2. Enter URL<o:p></o:p></div>
<div class="MsoNormal">
3. Search web page (Depending on project requirement)<o:p></o:p></div>
<div class="MsoNormal">
4. Capture result (Pass if webpage loaded)<o:p></o:p></div>
<div class="MsoNormal">
5. Send out email to all stake holders <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
We will create a VBS file, and then create a Task in windows
scheduler to run it every morning or whenever it is required<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Copy the following code to notepad and save it in
Environment.VBS file-<o:p></o:p></div>
<div class="MsoNormal">
=================================================<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
‘This is EnvrionmentTest.VBS<o:p></o:p></div>
<div class="MsoNormal">
‘This is to test if
all the environments are up and running<o:p></o:p></div>
<div class="MsoNormal">
Call Main<o:p></o:p></div>
<div class="MsoNormal">
Function Main<o:p></o:p></div>
<div class="MsoNormal">
Set IE =
WScript.CreateObject("InternetExplorer.Application", "IE_")<o:p></o:p></div>
<div class="MsoNormal">
IE.Visible = True<o:p></o:p></div>
<div class="MsoNormal">
IE.Navigate
"https://paragtestingsolutions.blogspot.co.uk"<o:p></o:p></div>
<div class="MsoNormal">
WScript.Sleep
(1000)<o:p></o:p></div>
<div class="MsoNormal">
if err.number = 0 then sendEmail (IE.LocationName &
vbCrLf & IE.LocationURL)<o:p></o:p></div>
<div class="MsoNormal">
End Function<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Function SendEmail(eMessage)<o:p></o:p></div>
<div class="MsoNormal">
strTo= "TestManager@Myorg.uk" 'Enter your managers
email id'<o:p></o:p></div>
<div class="MsoNormal">
strFrom="myemail@Myorg.uk" 'Enter your email id'<o:p></o:p></div>
<div class="MsoNormal">
strSubject="Environment Test Results"<o:p></o:p></div>
<div class="MsoNormal">
strAccountID="myaccountid" 'Enter your email account id<o:p></o:p></div>
<div class="MsoNormal">
strPassword="myemailpwd" 'Enter your email account password<o:p></o:p></div>
<div class="MsoNormal">
strSMTPServer="smtp.mailserver.com"<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Set oEmail = CreateObject("CDO.Message")<o:p></o:p></div>
<div class="MsoNormal">
'Message configuration<o:p></o:p></div>
<div class="MsoNormal">
With oEmail.Configuration.Fields<o:p></o:p></div>
<div class="MsoNormal">
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")
= 2 <o:p></o:p></div>
<div class="MsoNormal">
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")
= strSMTPServer<o:p></o:p></div>
<div class="MsoNormal">
.item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")
= 1 <o:p></o:p></div>
<div class="MsoNormal">
.item("http://schemas.microsoft.com/cdo/configuration/sendusername")
= strAccountID<o:p></o:p></div>
<div class="MsoNormal">
.item("http://schemas.microsoft.com/cdo/configuration/sendpassword")
= strPassword<o:p></o:p></div>
<div class="MsoNormal">
.Update<o:p></o:p></div>
<div class="MsoNormal">
End With<o:p></o:p></div>
<div class="MsoNormal">
'Message Building<o:p></o:p></div>
<div class="MsoNormal">
With oEmail<o:p></o:p></div>
<div class="MsoNormal">
.From = strFrom<o:p></o:p></div>
<div class="MsoNormal">
.To = strTo <o:p></o:p></div>
<div class="MsoNormal">
.Subject = strSubject<o:p></o:p></div>
<div class="MsoNormal">
.TextBody = eMessage<o:p></o:p></div>
<div class="MsoNormal">
End With<o:p></o:p></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
' send message<o:p></o:p></div>
<div class="MsoNormal">
On Error Resume Next<o:p></o:p></div>
<div class="MsoNormal">
oEmail.Send<o:p></o:p></div>
<div class="MsoNormal">
If Err Then WScript.Echo "SendMail Failed:" &
Err.Description<o:p></o:p></div>
<div class="MsoNormal">
End If<o:p></o:p></div>
<div class="MsoNormal">
wscript.sleep(5000)EndFunction<o:p></o:p></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
==================================================<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
You can store results in a variable for all the
websites and pass it to Send an email as eMessage.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Now windows scheduler –<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Click on Start => Control Panel<o:p></o:p></div>
<div class="MsoNormal">
2. Click on System and Security => Administrative tools
=> Task Scheduler<o:p></o:p></div>
<div class="MsoNormal">
3. Click on Create basic task in action pane<o:p></o:p></div>
<div class="MsoNormal">
4. Select time to start a program<o:p></o:p></div>
<div class="MsoNormal">
5. Program/Script Enter “cscript “ and file path<o:p></o:p></div>
<div class="MsoNormal">
Click on finish.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
After this setup you never need to inform about which
environment is up and running. Every morning you will come to know which all
environment are up and running and if anything is not working. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Keep impressing!<o:p></o:p></div>
<br />
<div class="MsoNormal">
<br /></div>
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-63670428627696949142016-09-27T06:46:00.000-07:002016-09-27T06:46:04.602-07:00Assistive Application Testing<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
Assistive applications are computer applications
specifically designed for specialized hardware used by physically challenged
people.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I got the opportunity to test such software during one of
our migration project. I thought this information may be helpful so sharing
with you all.<o:p></o:p></div>
<div class="MsoNormal">
Following applications are specialized applications for
special people. They are well suited for windows environment.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Dragon <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The application is from Nuance. The complete name is called
as Dragon-Naturally speaking. This application helps to create professional
reports, spread sheet, Documentation and Presentations with fast and accurate
dictation. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Dragon is a speech recognition solution which helps to
document, digital voice dictation and can be used from the workstation which
does not have dragon installed through Citrix Server. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Dragon also provides shortcuts which user can use with
verbal instructions to avoid repetitive tasks.<o:p></o:p></div>
<div class="MsoNormal">
The headphone connected to laptop is an essential gear to
use Dragon. After installation user requires to create its profile, which is to
tune the application for audio etc. This step is essential to make the
application understand the user more accurately. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
You can improve dragon’s vocabulary to help you. The words
which you use often may be slangs need to be added to dragon’s vocabulary.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
If the dragon is used with in work flows then we need to
test the complete end to end flow with dragon commands. These commands are
customized for users to handle different workflows efficiently. The commands
should be easy to maintain and should be used in multiple flows. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
2. JAWS<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
JAWS (Job Access With Speech) is a computer screen reader
program for Microsoft Windows that allows blind and visually impaired users to
read the screen either with a text-to-speech output or by a Refreshable Braille
display.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Freedom Scientific has developed JAWS for people whose
vision loss prevents them from using computer screens.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
JAWS have very useful training material. With key combinations
JAWS can start speaking reading screen. JAWS can be completely controlled using Keyboard keys.
Windows 10 compatible version is available.</div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The tests are usually around reading other applications help
files, PDF and Web contents. Special keyboards are used by visually impaired
people.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
3. Read & Write Gold<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Read & write Gold is developed by texthelp. This application
helps people with dyslexia. Many people use this application to get help in
reading and writing at school or workplace. This is useful for anyone whose
first language is not English and requires assistance to read and write.<o:p></o:p></div>
<div class="MsoNormal">
The tests around this application are reading webpages, text
documents, PDF, test files for other applications, Screen masking and adding
voice notes to word etc.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The above applications are proprietary products. We are
sharing our experience only from testing perspective with these applications. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
We will see more testing topics in next post.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Keep reading! <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<br /></div>
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-26803217632494968822016-09-16T05:05:00.000-07:002016-09-16T05:05:13.672-07:00Telerik Test Studio<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
We have seen a few tools, but the client speaks about Script
less automation tools. Hence I have decided to share my experience on one of
the Script less automation tools - Telerik Test Studio.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Telerik test studio is one of the easiest tools to work with
Functional testing, Performance, Load and Mobile testing.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Telerik test studio is very handy for web and desktop
applications. One of the applications when we were automating we had issues
handling Silverlight and WPF. However when we tried the same application using
Telerik test studio it was quite simple.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Telerik test studio supports Silverlight, WPF, AJAX, HTML,
WPF, MVC, JavaScript calls, dynamic page synchronization etc. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Telerik test studio is very simple to maintain test cases.
The project explorer gives tree like structure to add test, create folder, add
existing test, compile project etc.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Recording in any web browser is very simple –<o:p></o:p></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
1. Click on Record<o:p></o:p></div>
<div class="MsoNormal">
2. Select Browser<o:p></o:p></div>
<div class="MsoNormal">
3. Enter URL and the recording will start<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Recording tool bar will appear at the bottom of the browser.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
This toolbar allows highlighting elements, pausing test, resuming
recording and docking the toolbar.<o:p></o:p></div>
<div class="MsoNormal">
Using Verification builder or by actions from Elements Menu,
verifications can be added. Also, if you want to handle complex scenarios, then
you can add coded steps to it. Telerik test studio supports C# and VB.net.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Data driven testing can be achieved with following options –<o:p></o:p></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<br /></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
</div>
<ul style="text-align: left;">
<li><span style="text-indent: -18pt;">Using local data source</span></li>
<li><span style="text-indent: -18pt;">Excel spread sheet</span></li>
<li><span style="text-indent: -18pt;">XML</span></li>
<li><span style="text-indent: -18pt;">CSV</span></li>
<li><span style="font-size: 7pt; font-stretch: normal; text-indent: -18pt;"> </span><span style="text-indent: -18pt;">SQL database</span></li>
</ul>
<br />
<!--[endif]--><o:p></o:p><br />
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast">
<o:p></o:p></div>
<div class="MsoNormal">
Test execution is very simple. Select the saved test and
click on run list. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Test result panel helps to view the test summary and
detailed test report. Test result shows the test steps and pass/fail results
for each step.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
If you want to capture the screenshots; you need to configure
the test step with capture type as Browser or Desktop and File Name prefix.
File name prefix will save the file on disk. For quick execution images will
not be captured. This is another out of the box feature. Log files will be
created and stored at the prescribed location.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
So for us, initial setup and tool configuration took little
while but then the recording and running tests was very simple. The maintenance
part was also easy however for complex scenarios the code we created required
C# or VB.net knowledge. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<br /></div>
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-85947545740934459042016-09-05T01:26:00.000-07:002016-09-05T01:26:30.573-07:00Rainbow Framework and Selenium Automation<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
One of my friends, working on Rainbow Framework requested me
to write about Rainbow and Selenium automation. Hence I am writing this post. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Software systems are becoming more complex and can handle
the real time data as well as process large data seamlessly with higher performance.
The issue with such complex systems is maintenance. Any real time systems like
IP Phones, Video conferencing, application sharing should be always up and
running. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
However all the systems require maintenance due to the
following factors –<o:p></o:p></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]-->-<span style="font-size: 7pt; font-stretch: normal;"> </span></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
System issues – One of the service components suddenly stops performing bring the entire system download<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]-->-<span style="font-size: 7pt; font-stretch: normal;"> </span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
<!--[endif]--> Environment changes – The outside network
changes distortion to the system or failures <o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]--> -<span style="font-size: 7pt; font-stretch: normal;"> </span></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
<span style="font-size: 7pt; font-stretch: normal;"></span><!--[endif]--> User Requirement- User is expecting high quality
video, multiple streaming through different systems, Usage of handheld devices remotely
Etc.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
These things cannot stop the entire system or should not
pause, so it requires some mechanism to do the self-adaption to changes and
appear the system working seamlessly without service disruption.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
If such bulky and complex systems will have the
self-adaption logic built within the system then it will become more complex
and difficult to manage. Hence such self-adaption module will be separated and
kept aside. These types of arrangements are called External Mechanism.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
External mechanism will have properties like Ease to
maintain, Cost effectiveness and Combined (Performance, Cost and Security).<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Rainbow framework fulfills all the above requirements; the
rainbow framework is to divide the external mechanism software in two parts.
First part is general reusable part and second part is changes to deploy on
specific target.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Let’s not get into more details of Rainbow framework here;
we will see applying Selenium automation with this framework.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Architectural and adaption includes components, connector
types, properties and operators. This will be different software components
with in system. Using Selenium Webdriver we will create a wrapper around each
change and run it during each change.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Here we need to write different java functions and create
wrapper to work with rainbow framework.<o:p></o:p></div>
<div class="MsoNormal">
Let’s discuss the generic step by step process –<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo2; text-indent: -18.0pt;">
<!--[if !supportLists]--> 1.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->We will create a library file to add all the
generic functions, global functions and global variables<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -18.0pt;">
<!--[if !supportLists]--> 2.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->We need to hold the time and logs<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -18.0pt;">
<!--[if !supportLists]--> 3.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->Require reporting capabilities so require report
file<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -18.0pt;">
<!--[if !supportLists]--> 4.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->We need transactions file to hold the
components, connector types, operators information<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -18.0pt;">
<!--[if !supportLists]--> 5.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->We will create junit / java file as runnable to
run externally<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -18.0pt;">
<!--[if !supportLists]--> 6.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->We will create repository to store all the
properties<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo2; text-indent: -18.0pt;">
<!--[if !supportLists]--> 7.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->We need one driver file; driver file will be
called by runnable file<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo2; text-indent: -18.0pt;">
<br /></div>
<div class="MsoNormal">
The Rainbow framework will change the component within
predefined time using connectors and operators. If the time required is more
than predefined time then this will be treated as a system failure or violation.
So we need to keep the selenium script up and running after each change to test
is the changes has been made as expected. Rainbow Framework provides a reusable
infrastructure for architecture-based self-adaptation through its separation to
two parts; general part and tailor-able part. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Selenium code should be written
in such a way that it will be verify the tailor-able part.<o:p></o:p></div>
<div class="MsoNormal">
The selenium code eventually evolves to the extent that the
framework will be completely wrapped (Functions) with the selenium code. Each tailor-able
part will call the selenium script to execute and will generate the report.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Happy Scripting!<o:p></o:p></div>
<br />
<div class="MsoNormal">
<br /></div>
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com1tag:blogger.com,1999:blog-6996164951471402102.post-70701246179756428562016-08-27T00:47:00.001-07:002016-08-27T00:47:27.613-07:00Introduction to Scrum<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="margin-bottom: .0001pt; margin: 0cm;">
<a href="https://www.blogger.com/null" name="_GoBack"></a><span style="font-size: 13.5pt;">I have recently completed my Certified
Scrum Master (CSM) course hence writing this post.<o:p></o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;">
<br /></div>
<div style="margin: 0cm 0cm 0.0001pt;">
<span style="font-size: 13.5pt;">The Scrum is one
framework of implementing Agile. This framework is more popular than others
especially in Software development and delivery. <o:p></o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;">
<br /></div>
<div style="margin: 0cm 0cm 0.0001pt;">
<span style="font-size: 13.5pt;">Scrum is a fixed
length cycle of iterative developments. Each cycle can be of 2 weeks or 1
month.These are like calendar months, which are fixed and cannot be change to
40 days or 20 days. Also like calendar months, if we do not have any work we
cannot remove them. Similarly developers cannot cancel the sprint. Rather they
will pull more work from backlog.<o:p></o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;">
<br /></div>
<div style="margin: 0cm 0cm 0.0001pt;">
<span style="font-size: 13.5pt;">Scrum team has
only 3 roles. No less. No more. <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;"><br />
Let’s find out details of each role - <o:p></o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin: 0cm 0cm 0.0001pt;">
<span style="font-size: 13.5pt;">Product Owner –
Business owner or Client. (Product owner cannot be BA or Any other team member.
This can be Client Manager / Sr. Client Manager Etc.)<o:p></o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;">
<br /></div>
<div style="margin: 0cm 0cm 0.0001pt;">
<span style="font-size: 13.5pt;">Product owner is
responsible to get the value delivered in each sprint by the team members. He
will be collaborative and decision maker. He should be able to inform other
stake holders on overall progress and bring in the requirements in form of
suggestions.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;"> Scrum Master – The facilitator.
May not be technical person, however will make sure scrum functions as
expected. He is not responsible for deliveries. He can neither take any
decisions to update any feature nor stop any deliveries for quality or
any other issues. He is responsible for
protecting team from external interference and checking if team is comfortable
to deliver. <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">He is meeting organizer and helping others to follow the norms so
that each meeting will be fruitful. He is a coach to impart agile values in
team members.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Development Team – This is self-organised team. This team consist
of all the remaining which includes BA, Architect, Developers, QA and anybody
else which is required to build shippable item. The responsibilities of
development team is to make sure within sprint they deliver quality item in
each iteration. <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Within development team BAs help to understand and prepare
required documents, architect creates design; developers write code and QA test
the code. These all members work closely and collaboratively. In each Sprint (2
-4 weeks) all of them work together and create a shippable product. So at the
end of each sprint the Product owner if wish to release he can release the
developed work.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Scrum has following ceremonies. Ceremonies can be better
understood as functions to perform in each sprint (Every 2-4 weeks).<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">1. Sprint Planning<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">2. Daily Scrum meeting (Stand up)<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">3. Sprint review (Demo / Play back)<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">4. Sprint retrospective <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">5. Grooming<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Sprint planning is 10% of the sprint time and happens at the
beginning of each sprint. So if we have 2 weeks sprint, i.e. 10 days then it
will be 1 day. Here all the stories (features / requirement) which can be
delivered with in sprint will be pulled in Sprint backlog. The tasks for each story
are created and hours of work are decided.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Daily Scrum is a daily 10 min discussion. Each development team
member and scrum master answers following 3 questions –<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">1. What did I do yesterday?<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">2. What will I do today?<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">3. Any issues (Impediments)<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Any help is available within team will be proposed but will be
discussed after the scrum meeting. <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Sprint review is 10% of the sprint time and happens before the end
of sprint. So it will be 1 day if we have 10 days sprint. Here all the work is
shown to product owner and he will accept the story if it is done.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Sprint retrospective is 10% of the sprint time and happens after
the review. This meeting is to check the learning. It is generally around
following questions –<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">1. What went well in this sprint?<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">2. What did not went well in this sprint?<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">3. What we will continue doing in next sprint?<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Grooming is a meeting to discuss the product backlog. This happens
during sprint and takes 10% of sprint time. In grooming team goes back to
product backlog and looks at each product item to assign some high level
estimates in terms of story points, this will make the list more sequenced and
sorted.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">If we look at the time distribution for 10 days (2 week) sprint,
actual work will be carried out in 6 full working days. <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">As a team each one is individually responsible to update the work
completed. And the burn down with remaining work is created and displayed on
floor. <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">The basic idea of Agile is around three towers –<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">1. Transparency <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">2. Inspection<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">3. Adaptability<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Lot of work on Scrum is created across globe. Each team alters the
scrum to make it best fit; however as discussed basic concepts around it remain
the same. <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">It will be more interesting to read more on other agile process as
well. <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-size: 13.5pt;">Keep Practicing Scrum!<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<a href="https://www.blogger.com/null" name="_GoBack"></a>
</div>
<div class="MsoNormal">
<br /></div>
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-80725800995843449292016-08-18T06:52:00.000-07:002016-08-18T06:52:14.699-07:00Automation Testing using SOAP UI<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
Thank you for making my blog successful. I am writing this
post for those who have requested to write on SOAP UI.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
SOAPUI is an open source tool for testing web services and
SOA (Service Oriented Architecture). This functional testing tool is used for functional,
regression and load testing.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
SOAPUI is useful to create XML request and send it to server
and get the response from Server.<o:p></o:p></div>
<div class="MsoNormal">
We need WSDL to test using the SOAPUI. WSDL URL is nothing
but the end point URL provided to test the web service. These endpoints are
operating on messages containing information. The operations and messages are
described and then bound to network protocol and message format to define and
endpoint.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Once the SOAPUI is installed follow the steps given below to
create test case - <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Create New Soap Project from File Menu (Shortcut is Ctrl
-N)<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
2. Enter Project Name<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
3. Enter WSDL and click OK (This is endpoint URL for testing.
During actual work you may have your project specific)<o:p></o:p></div>
<div class="MsoNormal">
(e.g. http://www.webservicex.net/CurrencyConvertor.asmx?wsdl)<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
4. This will create your first project to test and learn<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
5. Double click on Request 1and Click on (+) to add the test
suite<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
6. Enter name to
create Test Suite and Click OK<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
7. Enter test case name and Click OK<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
8. This will ask you to enter request to test case. Enter
the name. Click OK<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Once the test case is created click on the RUN (Green
Arrow). This will execute the test case. This will take few seconds. The
request will send to the WSDL end point and the response will be received. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Now we will add some assertions. Assertions are nothing but
validations. If assertion fails then the test case fails. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Once we have created all the test cases as mentioned above
under the regression suite then we can run them from command prompt as well.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Testrunner.bat “C:\ParagTestBlog\SOAPTestProject.xml”<o:p></o:p></div>
<br /></div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-49405079497129669502016-08-11T03:23:00.001-07:002016-08-11T03:23:24.578-07:00Automating Devops<div dir="ltr" style="text-align: left;" trbidi="on">
Thank you all for visiting my posts frequently.<br />
<br />
Let's see the process of Automating Devops and how testing blocks fits in the process.<br />
<br />
Devops is development operations; which means once the code is written by developers then we need to collect the code and combine it to make larger functionality. This code is then built to make executable version and deployed in the environment i.e Test or Production. In a very simple language these all operations comes under Devops or Development Operations.<br />
<br />
This process is repetitive and requires automation. Also, due to the changing requirements and iterative development code drop is frequent. So we need to run the code-integrate-build-deploy cycle frequently within small window.<br />
<br />
There are two major concepts CI (Continuous Integration) and CD (Continuous Delivery). All the code when combined by the tool and sent out for build and deploy is called as Continuous Integration. The build and deployment cycle may be manual or automated. And CD will be achieved once the code is integrated and if the build is deployed to make sure that application is ready to use after every build.<br />
<br />
Automation testing is an essential and integral part of CI and CD. In our previous posts we have seen how Jenkins - open source tool can be used to implement CI and CD.<br />
<br />
Selenium allows to write tests in most popular languages like Java and makes it possible to create test suites for unit testing, functional or integration testing. While automating Devops Selenium tests are triggered to make sure the functionality is working as expected. Any integration issues are not passed through and regression suite to confirm that nothing else has broken by the new code.<br />
<br />
Any failure to the automated tests will revert the changes and inform all the stake holders. To achieve the most ideal automated system of Devops, requires expertise and willingness to provide enough time on designing the system.<br />
<br />
Once the system is in place the maintenance of the system involves but not limited to maintaining Selenium Automation Scripts. Here if automation framework is built then it becomes easy to manage automation scripts for quick maintenance.<br />
<br />
Hope you find this information useful.<br />
<br />
Keep Automating! <br />
<br />
<br /></div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-2239424599097644252016-08-04T01:45:00.001-07:002016-08-04T03:46:30.744-07:00Quick Guide for Selenium issues<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;"><br /></span>
<a href="https://www.blogger.com/null" name="_GoBack"></a><span style="font-family: "arial" , sans-serif;">Thank you for your response.
I received a few questions on Selenium so thought of answering them in this post
-<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Issue 1) How to handle the dynamic objects?<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Solution- <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">The first solution is to check if you have another locator. e.g. If
you are using name locator try to use xpath.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">If you do not have another useful locator then try to find out its
parent locator and you can come down to the dynamic locator. <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">You can also use CSS pseudo classes to walk to the dynamic object. If CSS is not a solution then last but the effective solution is to talk to
developer and request to name the object. Here your good communication
skills play an important part. <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Issue 2) Application is showing pop up messages?<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Solution- <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Operating System level messages like print dialog box, file
download dialog box etc. are outside of Selenium’s control. However most of the
times you will find the controls are created for browser only and such controls
are handled by Selenium. Browsers based pop up messages are easy to handle.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Send keys are not very good to use, however you may find Send keys
are the only solution when other solutions don't work for pop up messages.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Issue 3) Application opens a different tab (Multi tab applications)<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Solution- <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Usually if we click on hyperlink it opens into a new Window,
however few applications open up a tab, for such applications you need to use
send keys “Ctrl + Tab”.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Issue 4) Complex selenium scripts, difficult to maintain<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Solution- <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">If you have complex selenium scripts then break it in small
functions. Small functions typically perform one single action like click on
button / enter some value / get some elements property.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">You can also add all the critical elements to repository (e.g.
text file, xml file) for maintaining them outside the script. This is the
simplest way of handling the object properties which keep changing frequently.
Sometimes element names are different in SIT and UAT, in such cases you can make
the changes to text or xml file out of the script.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Issue 5) Reporting<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Solution- <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Selenium does not provide you with the reports. Hence this is the
best opportunity to create your custom build reports like HTML, XML reports. Or
you can use Junit / TestNG reports.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">About reports, most important part is to make them very simple and
user friendly. Always add date, time, and project information with
environment details to your reports. You can also use SMTP emailing option
to email reports. Email reports always have summary in email body and effective
subject line.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Issue 6) Selenium support<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Solution- <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Selenium support is available through forums so if you have issues
with your code then post it to Selenium forums. And provide all details like
what you are trying to do, your code and what error message you get if any.
Don’t give out your conclusion and don’t expect immediate response.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Most of the time on forums you will find someone responding
immediately however you can assure yourself to get the right solution you may
need to wait for a day or some times for a week depending upon complexity
involved.<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin: 0cm 0cm 0.0001pt;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span style="font-family: "arial" , sans-serif;">Keep discussing!<o:p></o:p></span></div>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<br />
<div class="MsoNormal">
<br /></div>
</div>
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0tag:blogger.com,1999:blog-6996164951471402102.post-14856636746782297842016-07-27T09:16:00.000-07:002016-07-27T09:16:39.274-07:00Tester’s role in Agile<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
<br />
Thank you for all the responses and requests. This post is
for all of them who have requested to share some more information on “Agile”
projects as well as the tester's role in the project.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
While working on different projects in Agile, I have
understood that the testing skills required for agile projects are tested more
with in very little time. In my previous post, we have seen the skills required
for testing and now we will see how these skills are applied in Agile. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Communication<o:p></o:p></b></div>
<div class="MsoNormal">
<b><br /></b></div>
<div class="MsoNormal">
In agile testing, tester is a part of development team. He will be
closely working with development team to help them improve quality of the
deliverables. This is a critical task and required good communication. Usually
communicating to the development team and communicating to agile team is
different. <o:p></o:p></div>
<div class="MsoNormal">
Agile manifesto - Individuals and interactions over
processes and tools.<o:p></o:p></div>
<div class="MsoNormal">
Agile teams are expected to work as one unit and hence the
communication between each individual team member becomes paramount important.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Business Knowledge<o:p></o:p></b></div>
<div class="MsoNormal">
<b><br /></b></div>
<div class="MsoNormal">
Within team, most of the time development team rely on the
tester for quality. In agile due to quick deliveries and shorten cycles
development team expects that tester should provide good reasoning for any
quality issues identified. Hence business knowledge required for tester to work
in Agile is less important to none.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Technical Knowledge<o:p></o:p></b></div>
<div class="MsoNormal">
<b><br /></b></div>
<div class="MsoNormal">
As tester is closely working with developers and tester is a
part of the team, it becomes essential that tester understands the technical
discussions. Most of the time testers are exposed to all such technical
discussion and then expected to provide some thoughts from improving quality.
If tester is very well aware of the technology then it is very useful to help
developers to understand the quick quality issues which may otherwise surface.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Issue Resolution<o:p></o:p></b></div>
<div class="MsoNormal">
<b><br /></b></div>
<div class="MsoNormal">
Sometimes in Agile developers are ready to fix the issues
within given time if the issues are recognized early in development stage. Well
experienced tester can point out issues in the functionalities, design or code
and also have courage to explain it to the development team. The tester helps team to make the demo
successful for acceptance of the deliverables by product owner. Any issues if
found should be recorded and should have a proper schedule for rework. The
success of agile team depends on the tester and his involvement in issues resolution.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Automation<o:p></o:p></b></div>
<div class="MsoNormal">
<b><br /></b></div>
<div class="MsoNormal">
All the repetitive task should be automated at the earliest
possible to utilize all the available time for process improvements and quality
deliverables. Most of the time functional testers involved in the Agile with no
or less automation appetite will results in time consuming testing process. The
overall result is not so good which is otherwise possible. Automation can be as
simple as checking if the environment is ready with the automated scripts
rather than manually accessing the environment. Also running sanity scripts as
soon as the code is deployed. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
In Agile, testing is quite different than otherwise. Tester
is individual contributor as well as responsible for team’s quality deliverable. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
We will see more on testing in upcoming posts. Till then, <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Keep Agile!</div>
</div>
Parag Bhisehttp://www.blogger.com/profile/14491470575306964444noreply@blogger.com0