<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lavanya</title>
    <description>The latest articles on DEV Community by Lavanya (@lvnya_c).</description>
    <link>https://dev.to/lvnya_c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F158660%2F9e06857b-a385-411a-8cc5-4892366c948e.jpg</url>
      <title>DEV Community: Lavanya</title>
      <link>https://dev.to/lvnya_c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lvnya_c"/>
    <language>en</language>
    <item>
      <title>AI Agents Don’t Hesitate And That’s a Security Problem</title>
      <dc:creator>Lavanya</dc:creator>
      <pubDate>Tue, 24 Mar 2026 08:29:02 +0000</pubDate>
      <link>https://dev.to/lvnya_c/ai-agents-dont-hesitate-and-thats-a-security-problem-54oa</link>
      <guid>https://dev.to/lvnya_c/ai-agents-dont-hesitate-and-thats-a-security-problem-54oa</guid>
      <description>&lt;p&gt;&lt;b&gt;AI Agents don’t hesitate.&lt;br&gt;
They don’t second-guess.&lt;br&gt;
They dont pause.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;We didn’t just add AI to our stack. We gave it access, autonomy, speed. Which means mistakes are no longer small or slow.&lt;/p&gt;

&lt;p&gt;Earlier this year, an internal AI coding agent at AWS ended up deleting and recreating parts of a production environment, causing a 13-hour outage!&lt;/p&gt;

&lt;p&gt;An agent with too much access and zero hesitation.&lt;br&gt;
This wasn’t an edge case, it’s a pattern.&lt;/p&gt;

&lt;p&gt;Now compare that to something less accidental.&lt;/p&gt;

&lt;p&gt;A red-team exercise showed how an autonomous agent could break into McKinsey’s internal AI platform, Lilli.&lt;/p&gt;

&lt;p&gt;No credentials. No insider access.&lt;/p&gt;

&lt;p&gt;Within hours, it was able to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;map internal APIs&lt;/li&gt;
&lt;li&gt;identify a classic SQL injection and&lt;/li&gt;
&lt;li&gt;escalate access across the system&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;AWS was accidental. But this is proof of risk.&lt;/p&gt;

&lt;p&gt;In the AI era, the threat landscape is changing and rapdily; AI agents &lt;b&gt;autonomously selecting and attacking targets will become the new normal.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;So the question is “how fast?”&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Vulnerabilities like SQL injection aren’t new. What’s changed is how easily they can be exploited now.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;An agent can:&lt;/p&gt;


&lt;li&gt;smartly identify&lt;/li&gt;
&lt;br&gt;
&lt;li&gt;test&lt;/li&gt;
&lt;br&gt;
&lt;li&gt;refine payloads and&lt;/li&gt; &lt;br&gt;
&lt;li&gt;chain access, all without stopping.&lt;/li&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
That is the real shift.

&lt;p&gt;We’re not just writing vulnerable code anymore. We’re deploying systems that can:&lt;/p&gt;

&lt;p&gt;find vulnerabilities, exploit them and amplify the impact automatically!&lt;/p&gt;

&lt;p&gt;&lt;b&gt;End-to-end. Without human friction.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;When a developer makes a mistake, it’s usually contained and it takes time to escalate and someone eventually notices.&lt;/p&gt;

&lt;p&gt;But when an AI agent makes a mistake, it executes end-to-end across systems at machine speed before you know it.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
Most teams are focused on how to integrate agents and which model to use.&lt;/p&gt;

&lt;p&gt;Are we thinking &lt;b&gt;“What can this agent actually do if it goes wrong?”&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;Almost all agents are over-permissioned.&lt;/p&gt;

&lt;p&gt;In practice, agents are rarely given isolated, scoped identities. &lt;/p&gt;

&lt;p&gt;Instead, they run on shared API keys or service accounts, like a CI/CD token with access to your repo, pipelines, and cloud which gives them far more access than they actually need.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
Modern AI systems operate across multiple systems in a single flow, increase coupling between data, prompts, and execution paths.&lt;/p&gt;

&lt;p&gt;So a “simple” bug can give access to the application and influence how AI behaves, making it much easier to exploit at scale.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
Over the past few weeks, multiple incidents have shown the same pattern:&lt;/p&gt;


&lt;li&gt;agents executing actions they shouldn’t&lt;/li&gt;
&lt;br&gt;
&lt;li&gt;systems trusting inputs they shouldn’t&lt;/li&gt;
&lt;br&gt;
&lt;li&gt;access levels that were never properly scoped&lt;/li&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;Do a Dev Sanity Check (Bookmark This)&lt;/b&gt;

&lt;p&gt;If you’re working with agents (LangChain, AutoGPT, internal tools), run through this:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;1. Identity Scope&lt;/b&gt;&lt;br&gt;
Does each agent have its own identity? Or are you using shared service/admin tokens?&lt;br&gt;
If one agent is compromised, what else breaks?&lt;/p&gt;

&lt;p&gt;&lt;b&gt;2. Destructive Actions&lt;/b&gt;&lt;br&gt;
Can an agent execute DELETE / DROP / RECREATE?&lt;br&gt;
If yes, is there a human approval gate?&lt;/p&gt;

&lt;p&gt;&lt;b&gt;3. Shadow Agents&lt;/b&gt;&lt;br&gt;
Are devs running local AI tools with access to:&lt;br&gt;
your repo, internal APIs and tokens. You probably have more agents than you think.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;4. Blast Radius Mapping&lt;/b&gt;&lt;br&gt;
Ask one question:&lt;br&gt;
“If this agent goes rogue, what’s the worst it can touch?”&lt;/p&gt;

&lt;p&gt;If the answer is one of “everything”, “production”, “our data layer”, you don’t have an AI problem. You have an access design problem.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
You found a vulnerability. Cool.&lt;br&gt;
&lt;b&gt;But, can an agent exploit and chain this automatically?&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Because that’s the real bar now. &lt;/p&gt;

&lt;p&gt;This is the shift we’re seeing across the industry:&lt;br&gt;
moving from finding vulnerabilities to proving real-world exploitability.&lt;/p&gt;

&lt;p&gt;Gartner notes that offensive security trends are moving toward Preemptive security. Preemptive cybersecurity solutions (example &lt;a href="https://www.siemba.io/" rel="noopener noreferrer"&gt;Siemba&lt;/a&gt;) defend more effectively against such sophisticated AI-enabled exploits.&lt;/p&gt;

&lt;p&gt;This proactive approach represents a shift from traditional reactive methods to preemptive measures aimed at mitigating risks before they escalate.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>dev</category>
      <category>cybersceurity</category>
    </item>
    <item>
      <title>Automating a Web Application using Testsigma's NLP Grammar</title>
      <dc:creator>Lavanya</dc:creator>
      <pubDate>Tue, 28 May 2019 18:32:20 +0000</pubDate>
      <link>https://dev.to/lvnya_c/automating-a-web-application-using-testsigma-s-nlp-grammar-48b6</link>
      <guid>https://dev.to/lvnya_c/automating-a-web-application-using-testsigma-s-nlp-grammar-48b6</guid>
      <description>&lt;p&gt;The article explains how a sample web application like the &lt;a href="https://opensource-demo.orangehrmlive.com/"&gt;OrangeHRM&lt;/a&gt;(an HR and Leave Management System) can be automated using the NLP based Test Automation tool, &lt;b&gt;&lt;a href="https://testsigma.com"&gt;Testsigma&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lQ2C9I3U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/EUrKZf2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lQ2C9I3U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/EUrKZf2.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We will do the following:&lt;/p&gt;


&lt;ul&gt;
&lt;li&gt;Navigate to the OrangeHRM website&lt;/li&gt;

&lt;li&gt;Enter the Username(Admin) the Username field&lt;/li&gt;

&lt;li&gt;Enter the Password(admin123) in the Password field&lt;/li&gt;

&lt;li&gt;Click on Login&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;&lt;br&gt;
When you &lt;a href="https://testsigma.com/signup"&gt;create a trial account&lt;/a&gt; with Testsigma, you will have a default Project named, &lt;b&gt;Testsigma&lt;/b&gt; with a few samples. You may create a new Test Case in the existing Project or create a new Project and add test cases to this.

&lt;p&gt;Now click on Add Test Steps to start writing the Test Steps for each of the 4 steps that we need to perform.&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;Step 1: Navigate to the application&lt;/h2&gt;

&lt;p&gt;The first step is quite easy. Just type/copy and paste the URL of the application you wish to automate in the Go To field and hit Start!&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--x5JEKDq3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Enter_URL_Testsigma.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--x5JEKDq3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Enter_URL_Testsigma.png"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
The first Test Step will automatically be added.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VjR2Tm67--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Add_Next_Test_Step_Testsigma.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VjR2Tm67--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Add_Next_Test_Step_Testsigma.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Step 2: Enter the Username&lt;/h2&gt;

&lt;p&gt;Now, to test the login scenario of this application. We will start by entering the Username.&lt;/p&gt;

&lt;p&gt;Start typing, "Enter" and a list of grammar suggestions will appear.&lt;br&gt;
From the list, choose the NLP grammar, &lt;i&gt;“Enter test data in the ui identifier field”&lt;/i&gt; since this closely relates to what we need to perform.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8xJOWoAV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Enter_Action_Testsigma.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8xJOWoAV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Enter_Action_Testsigma.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We see 2 keywords in the grammar; a &lt;b&gt;test data&lt;/b&gt; and a &lt;b&gt;ui identifier&lt;/b&gt;. 'Test data' are inputs we provide like your Name, or the Username in this example, etc.&lt;/p&gt;

&lt;p&gt;A 'ui identifier' is the path we use to “identify” an element(the Username field) anywhere on the website or the web page so as to perform any action on that element on the web page.&lt;/p&gt;

&lt;p&gt;Now, you only need to replace the &lt;b&gt;test data&lt;/b&gt; part with the value, “&lt;i&gt;Admin&lt;/i&gt;”. Also, replace the &lt;b&gt;ui identifier&lt;/b&gt; part with some meaningful variable like ‘&lt;i&gt;UsernameLogin&lt;/i&gt;’. We will assign the unique ui identifier/path of the Username field to this variable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zpKPRKug--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Edit_ui_identifier_Testsigma.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zpKPRKug--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Edit_ui_identifier_Testsigma.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You may as well skip this part and continue to add the Test Steps and later edit the ui identifier values. This is particularly useful if you are performing &lt;a href="https://dzone.com/articles/in-sprint-test-automation-at-agile-and-dev-ops-spe"&gt;Test Automation in-sprint&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Let's assign the ui identifier its value right away. If you are familiar with creating xpaths, you may &lt;a href="https://youtu.be/zVCCduIjOXs"&gt;manually&lt;/a&gt; create and store the ui identifier value or you could use Testsigma’s Chrome extension that will automatically identify and store the exact path of the Username field for you. Here’s how you do this using the &lt;a href="https://youtu.be/Q2QOmclAx2A"&gt;Chrome extension&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ec4ZlHcG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Ui_identifier_values_Testsigma.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ec4ZlHcG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Ui_identifier_values_Testsigma.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, click 'Create and Continue' to continue adding next Test Steps.&lt;/p&gt;

&lt;h2&gt;Step 3: Enter the Password&lt;/h2&gt;

&lt;p&gt;Now, enter the Password in the Password field. Use the same NLP grammar as the Username, “Enter test data in the ui identifier field”.&lt;br&gt;
Replace test data with &lt;i&gt;admin123&lt;/i&gt; and replace ui identifier with some variable say, ‘&lt;i&gt;PasswordforLogin&lt;/i&gt;’. i.e, “Enter admin123 in the PasswordforLogin field”.&lt;/p&gt;

&lt;p&gt;Like before, you may either use the Chrome extension to get the ui identifier value of the ui identifier, ‘PasswordforLogin’ or you could try entering the ui identifier value manually by inspecting the Password field element.&lt;/p&gt;

&lt;p&gt;Click on Create and Continue.&lt;/p&gt;

&lt;h2&gt;Step 4: Perform a click operation&lt;/h2&gt;

&lt;p&gt;Now, let's see how we perform the click operation to perform Login.&lt;br&gt;
There’s no need to enter a test data value in this case, right? It’s just clicking on the Login button.&lt;br&gt;
So, the NLP grammar is just “&lt;i&gt;Click on ui identifier&lt;/i&gt;”. Replace the ui identifier with a name say, "Login" and assign its ui identifier value like we did previously.&lt;/p&gt;

&lt;p&gt;Click on Create.&lt;/p&gt;

&lt;h2&gt;Step 5: Verify something&lt;/h2&gt;

&lt;p&gt;Here’s a bonus step! Let us also verify if some text is displayed in the page or not.&lt;br&gt;
Click on Add Next Step. You just need to use the grammar, “&lt;i&gt;Verify that the current page URL is test data&lt;/i&gt;”. You may try other NLP grammar suggestions too. Replace test data with your expected value.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--h9XlBlKb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Test_Steps_Testsigma.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--h9XlBlKb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Test_Steps_Testsigma.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To know what grammar to use, just refer the NLP grammar link at the  left pane of the tool or refer the Help section(a &lt;b&gt;?&lt;/b&gt; symbol right next to the Test Steps) for the examples related to an action to be performed like Enter or Click.&lt;/p&gt;

&lt;h2&gt;Executing the Test Steps&lt;/h2&gt;

&lt;p&gt;Now, let’s run these 5 Test Steps. Just click on &lt;b&gt;Run&lt;/b&gt; at the top right of the Test Steps page for a real quick execution of this test case and click Create and Run.&lt;/p&gt;

&lt;p&gt;Once the test is run, check the Run Results. You will see the details of the execution with detailed test logs, screenshots and videos.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FhgTx42T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Detailed_Run_Results_Testsigma.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FhgTx42T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://assets.testsigma.com/external/product/11-2019/Detailed_Run_Results_Testsigma.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’d like to learn more about this in detail, create a &lt;a href="https://testsigma.com/signup"&gt;free trial&lt;/a&gt; account with &lt;b&gt;&lt;a href="https://testsigma.com"&gt;Testsigma&lt;/a&gt;&lt;/b&gt; for 30 days and see if it works for you.&lt;/p&gt;

</description>
      <category>softwaretesting</category>
      <category>testautomation</category>
      <category>nlp</category>
    </item>
    <item>
      <title>Smart Test Automation using NLP</title>
      <dc:creator>Lavanya</dc:creator>
      <pubDate>Wed, 22 May 2019 14:55:46 +0000</pubDate>
      <link>https://dev.to/lvnya_c/smart-test-automation-using-nlp-h9b</link>
      <guid>https://dev.to/lvnya_c/smart-test-automation-using-nlp-h9b</guid>
      <description>&lt;p&gt;Development is fast-paced, so should be Testing to keep up with the accelerated delivery cycles. But Testing has not evolved at the same pace as Development. Even today, testers use age-old testing methods and tools to test complex applications.&lt;/p&gt;

&lt;p&gt;Testing teams need to adopt automated test processes to keep up with the DevOps/CD advancements. As compared to Manual Testing, Automation Testing is best suited for changing application needs, to improve test effectiveness and coverage.&lt;/p&gt;

&lt;p&gt;However, a few are still resistant towards Automation Testing mainly due to the huge scripting involved. Writing automated tests and maintaining the test scripts isn’t easy. This could be a bit of a struggle for someone new to Test Automation.&lt;/p&gt;

&lt;p&gt;Automation Testers write super complex test scripts for each test case and are required to have a deep technical understanding of the underlying framework, application functionalities, programming knowledge, etc. It may take several lines of code to test even a small feature of an application.&lt;/p&gt;

&lt;p&gt;Depending on the application type, Automation Testing requires expertise in multiple languages and technologies and a sudden shift towards Automation Testing can be a bit overwhelming for functional testers.&lt;/p&gt;

&lt;p&gt;Also, Automation requires that the technical experts continuously monitor and maintain automated tests. Eventually, test automation becomes complex and unaffordable with an increased ROI time, especially, for small businesses.&lt;/p&gt;

&lt;p&gt;A better approach with better collaboration and easy test authoring would be &lt;b&gt;Scriptless Test Automation&lt;/b&gt;.&lt;/p&gt;

&lt;h2&gt;&lt;b&gt;Scriptless Test Automation Approach&lt;/b&gt;&lt;/h2&gt;

&lt;p&gt;The biggest challenges in Automation Testing like we discussed is the initial time spent on test script development. The scriptless approach can speed up testing with better participation also, maximize the reusability of code with reduced maintenance.&lt;/p&gt;

&lt;p&gt;Scriptless Automation tools hide/abstract the underlying code making the test automation process real easy and effortless. This will be particularly beneficial to Manual testing teams to automate complex applications efficiently even without scripting skills. With a huge part of the reusable tasks automated, they can also do a few rounds of Exploratory Testing.&lt;/p&gt;

&lt;p&gt;This approach towards automation reduces time and effort required to test and ensure higher levels of maintainability and ease of updating changing requirements to fit into the Agile/DevOps process.&lt;/p&gt;

&lt;h2&gt;&lt;b&gt;Benefits of going Scriptless&lt;/b&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Unified approach to diverse application types on multiple browsers and platforms
&lt;/li&gt;
&lt;li&gt;Less or no learning curve
&lt;/li&gt;
&lt;li&gt;Easy updating of changes and updates
&lt;/li&gt;
&lt;li&gt;Test scripts can be reviewed by domain experts and business analysts
&lt;/li&gt;
&lt;li&gt;A reduced test authoring time and faster Return On Investment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The main challenges with legacy test automation are building a robust and maintainable automation framework and managing the objects and identifiers.&lt;/p&gt;

&lt;p&gt;Automated tests need to be reusable and maintainable and should not be resistant to changes in the application UI and should ensure that the automated tests do not break. Today with "&lt;a href="https://testsigma.com/blog/self-healing-tests-maintenance-testsigma/" rel="noopener noreferrer"&gt;self healing&lt;/a&gt;" tests that automatically takes care of flaky tests, this is no longer an issue.&lt;/p&gt;

&lt;h2&gt;&lt;b&gt;NLP in Testing&lt;/b&gt;&lt;/h2&gt;

&lt;p&gt;A new advancement in Scriptless Test Automation is Natural Language Processing(NLP) that is used to write simple tests in natural understandable language.&lt;/p&gt;

&lt;p&gt;The application of NLP reduces test creation time and is done in a format that is intuitively easy to for anyone to quickly adapt and use. Tools like Testsigma use simple plain English to automate tests and the changing UI elements are maintained by AI.&lt;/p&gt;

&lt;p&gt;The tests are as simple as "Go to &lt;a href="https://testsigma.com" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://testsigma.com" rel="noopener noreferrer"&gt;https://testsigma.com&lt;/a&gt;”,&lt;br&gt;
“Enter Name in the Username field”,&lt;br&gt;
“Verify that the page displays text Testsigma, etc.&lt;/p&gt;

&lt;p&gt;NLP techniques were initially considered puerile and inadequate. However, over the years, NLP has advanced. Some of our day to day applications like Siri, Alexa, autocomplete in emails, etc that try and cut down our manual efforts are a few examples of this.&lt;/p&gt;

&lt;p&gt;The NLP based tests can accommodate changes anytime and can easily be edited(if required). NLP makes it easier to automate all of your test cases and tightly integrate them with your dynamic delivery pipeline while optimizing user experience.&lt;/p&gt;

&lt;p&gt;Let’s look at a few additional features that would boost test automation.&lt;/p&gt;

&lt;h3&gt;&lt;b&gt;1. Smart Element locators&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;Once the Tests are created and ready, Test maintenance is the next hurdle a tester has to go through. Undesirable Test maintenance wastes productive time that could be used for manual feature checks and increasing test coverage.&lt;/p&gt;

&lt;p&gt;It ensures that the Functional Tests doesn’t break even if the product undergoes radical change. The tests will stay strong in the tide of code changes.&lt;/p&gt;

&lt;h3&gt;&lt;b&gt;2. Conditional waiting&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;Conditional waits allow avoid ‘dead waits’ that pauses the Execution for a specified amount of time even if the condition we are waiting for becomes true halfway.&lt;/p&gt;

&lt;p&gt;NLP based test automation tool, &lt;a href="https://testsigma.com" rel="noopener noreferrer"&gt;Testsigma&lt;/a&gt; has an extensive set of Conditional Wait statements which helps to add waits based on user-defined conditions:&lt;/p&gt;

&lt;p&gt;Wait until the current page is loaded completely&lt;br&gt;
Wait until the element ui identifier is clickable&lt;br&gt;
Wait until the element ui identifier is selected&lt;br&gt;
Wait until the element ui identifier is visible &amp;amp; many more…&lt;/p&gt;

&lt;h3&gt;&lt;b&gt;3. Conditional flow and Control Structures&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;Controls Structures provided by programming languages is one of the most powerful features available in Selenium. This allows defining different test flows to loop a set of Test Steps multiple times based on specific conditions. &lt;/p&gt;

&lt;p&gt;Imagine the same set of features available in a Scriptless tool without the added complexity.&lt;br&gt;
With &lt;b&gt;Testsigma&lt;/b&gt;, you can either loop on a whole Test Case with a set of parameters(data-driven approach) or loop on a subset of Test Steps. This is especially useful if we want to simply repeat a step multiple times with/without an available Test Data set.&lt;/p&gt;

&lt;h3&gt;&lt;b&gt;4. Easy Assertions in scriptless test automation&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;Creating the navigation steps alone doesn’t add any value to the Tests. The real value comes with the Assertions. Assertion verifies that the required business logic is implemented properly and works in a way the Product owner wants it to.&lt;/p&gt;

&lt;p&gt;Adding Assertions in Testsigma is similar to adding Conditional waits – using already available Verification statements.&lt;/p&gt;

&lt;p&gt;Here’s a set of Assertions available by default:&lt;/p&gt;

&lt;p&gt;Verify that an Alert with text test data is displayed&lt;br&gt;
Verify that the ui identifier checkbox is disabled&lt;br&gt;
Verify that the ui identifier list has option with text test data selected&lt;br&gt;
Verify that the Alert displays the message test data&lt;br&gt;
Verify that the count of elements identified by locator ui identifier is test data and lot more.&lt;/p&gt;

&lt;h3&gt;&lt;b&gt;5. Modifications without redo&lt;b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;Record-and-Playback tools do not permit easy editing of recorded tests. The Tester has no choice but to re-record the Test Steps from the beginning of the flow if the application changes even slightly. This is far from ideal. This is explained more in detail in &lt;a href="https://testsigma.com/blog/why-is-record-and-playback-not-suitable-for-enterprise-class-test-automation/" rel="noopener noreferrer"&gt;Why is Record and Playback not suitable for enterprise-class Test Automation?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Like we mentioned earlier, Modification is a piece of cake when it comes to NLP based test scripts and permits to add Test Steps at the beginning, end or anywhere in between easily without redo.&lt;/p&gt;

&lt;h3&gt;&lt;b&gt;6. Reusable Steps in Scriptless Test Automation&lt;b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;In scenarios similar to "Login" of an an application, it would be a redundant effort to create the same steps for each of the Test Cases. Therefore, it is necessary to provide some mechanism with which we can group a set of Test Steps for repeated use.&lt;/p&gt;

&lt;h3&gt;&lt;b&gt;7. Cross-browser Support&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;With a plethora of devices(Desktop or Mobile) used by end users, we need to make sure the app functions as intended on all those devices. You may use Analytics tools such as Google Analytics to find out device usage patterns.&lt;/p&gt;

&lt;p&gt;Now with &lt;a href="https://testsigma.com/blog/best-cloud-based-test-automation-tool-continuous-delivery-demands/" rel="noopener noreferrer"&gt;Cloud Based Scriptless Testing&lt;/a&gt; solutions, automated tests can be run on thousands of real Device/OS/Browser versions combo and also local physical devices.&lt;/p&gt;

&lt;h3&gt;&lt;b&gt;8. Test Reporting and Analytics&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;Testsigma provides a detailed Test Report for all the Test Case executions that consists of a powerful visual feedback system with step by step visual reports.&lt;/p&gt;

&lt;p&gt;Each of the Test Step has a passed/failed status indicator and screenshots that denote the state of the Application when the failure occurred.&lt;/p&gt;

&lt;p&gt;In some cases, the Test Case can fail at a step and the error might propagate down unnoticed until the next assertion. Step by step analysis in Scriptless Test Automation tools like Testsigma includes Screenshots and logs that helps us to understand the actual step where the Test failed.&lt;/p&gt;

&lt;p&gt;You can easily figure out what went wrong using the Test Execution video logs that help pinpoint the step which deviated from the actual Test Case also gives a quick analysis as to how our tests are performing over a period of time.&lt;/p&gt;

&lt;h3&gt;&lt;b&gt;9. Ability to insert code&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;If you need to use the power and flexibility of Code, you can create Custom Functions to write code and create your custom test scripts in addition to the NLP based grammar steps.&lt;/p&gt;

&lt;h3&gt;&lt;b&gt;10. Continuous Integration&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;With necessary third party tools' integrations(Team Collaboration tools, Bug Tracking tools, ALM tools and CI tools), you could bring all your testing resources together thereby achieving Continuous Testing.&lt;/p&gt;

&lt;p&gt;In addition to plain natural language test creation, a few additional features that Testsigma offers include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Possible Failure Detection – Affected Test Cases
&lt;/li&gt;
&lt;li&gt;Test Management Capabilities(Requirements, Test Suites, Test Case priorities e.t.c)
&lt;/li&gt;
&lt;li&gt;Automatic Bug Reporting(JIRA)
&lt;/li&gt;
&lt;li&gt;Shared Object Repository
&lt;/li&gt;
&lt;li&gt;State Management
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
With the simplicity of NLP based tests, flexible, easily understandable tests can be created which well suits Agile development and allows for iterative delivery of quality software!&lt;/p&gt;

&lt;p&gt;Image credit: &lt;a href="https://www.freepik.com/free-photos-vectors/business" rel="noopener noreferrer"&gt;Business vector created by freepik - &lt;/a&gt;&lt;a href="http://www.freepik.com" rel="noopener noreferrer"&gt;www.freepik.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>testing</category>
    </item>
  </channel>
</rss>
