<?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: Kruthika</title>
    <description>The latest articles on DEV Community by Kruthika (@kruthika).</description>
    <link>https://dev.to/kruthika</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%2F1234614%2F832b4ec4-79d4-49ff-a382-160c4cfac810.png</url>
      <title>DEV Community: Kruthika</title>
      <link>https://dev.to/kruthika</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kruthika"/>
    <language>en</language>
    <item>
      <title>Python Selenium Architecture and Selenium Virtual environment significance</title>
      <dc:creator>Kruthika</dc:creator>
      <pubDate>Wed, 27 Mar 2024 16:36:53 +0000</pubDate>
      <link>https://dev.to/kruthika/python-selenium-architecture-and-selenium-virtual-environment-significance-h9a</link>
      <guid>https://dev.to/kruthika/python-selenium-architecture-and-selenium-virtual-environment-significance-h9a</guid>
      <description>&lt;h2&gt;
  
  
  *&lt;em&gt;Python Selenium Architecture has below components *&lt;/em&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Client Libraries &lt;/li&gt;
&lt;li&gt;Json Wire Protocal&lt;/li&gt;
&lt;li&gt;Browser Driver&lt;/li&gt;
&lt;li&gt;Real Browser&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Client Libraries&lt;/strong&gt; are the map to work with selenium directories, which will enable to work / communicate with selenium.&lt;br&gt;
Client libraries provides necessary things for selenium to perform any action which then selenium will communicate with Json wire protocol.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Json Wire Protocol&lt;/strong&gt; it convert into light weight data for communicating with browser driver.&lt;br&gt;
Json wire protocol allows all respective drivers to communicate with their browser to perform an action.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser Driver&lt;/strong&gt; acts as a bridge between libraries and browsers, every browsers has their own drivers which can be downloaded from web, eg., chrome browser has chrome driver, firefox browser has geckodriver and so on..&lt;br&gt;
Browser driver communicate with real browsers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real Browsers&lt;/strong&gt; - selenium supports different browsers like chrome, firefox, microsoft edge, safari, etc.. and supports on different operating systems like Mac, windows, linux..&lt;/p&gt;

&lt;p&gt;and finally selenium API, which supports software to software interactions.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Selenium Virtual Environment Significance&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Selenium virtual environment helps to run the program without disturbing the existing / other programs or project in the same system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It is sandboxing different modules of python to test them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It is self contained isolated directory which contains python and its various modules.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It provide self isolated environment for testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It give folder like structure for your unique projects.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We can install this virtual environment via terminal / cmd prompt by giving their installation commands (or) by downloading tool called Pycharm &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Selenium and its purpose of automation</title>
      <dc:creator>Kruthika</dc:creator>
      <pubDate>Wed, 27 Mar 2024 15:25:19 +0000</pubDate>
      <link>https://dev.to/kruthika/selenium-and-its-purpose-of-automation-5aoj</link>
      <guid>https://dev.to/kruthika/selenium-and-its-purpose-of-automation-5aoj</guid>
      <description>&lt;p&gt;Selenium is the most efficient widely used &lt;strong&gt;open source platform&lt;/strong&gt; to test web applications across various browsers.&lt;/p&gt;

&lt;p&gt;Selenium automate the software testing using its &lt;strong&gt;components&lt;/strong&gt; &lt;br&gt;
Web driver, IDE, Grid.&lt;/p&gt;

&lt;p&gt;Web driver - It test websites correctly, will perform the task as per use requirement and make sure the functionalities are working properly, it basically takes you to where you want to be in the application.&lt;/p&gt;

&lt;p&gt;IDE - It record and replay the automation when necessary, whenever we need to repeat the same steps, IDE will help on that.&lt;/p&gt;

&lt;p&gt;GRID - It allows to run your test scripts at multiple web browser either remotely (or) on your own system browser which increases efficiency.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Purpose of its automation : *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Selenium make easy by automating the test cases by writing test scripts and run it whenever necessary.&lt;/p&gt;

&lt;p&gt;Automation will save time, effort and reduce errors, improves efficiency.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Selenium works across different web browser like firefox, chrome, etc..&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Selenium is platform independent, which runs on different operating systems like linux, unix, windows, mac os.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Selenium supports different languages like c, c++, c#, java, javascript, python, etc..&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Selenium is flexible enough which can connect to different tools like Jenkins, Git, Appium.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Selenium support to maintain CICD pipeline, which will perform with continuous integration and continuous developement.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Selenium and its purpose of automation</title>
      <dc:creator>Kruthika</dc:creator>
      <pubDate>Wed, 20 Mar 2024 10:38:05 +0000</pubDate>
      <link>https://dev.to/kruthika/selenium-and-its-purpose-of-automation-1f0j</link>
      <guid>https://dev.to/kruthika/selenium-and-its-purpose-of-automation-1f0j</guid>
      <description>&lt;p&gt;Selenium is the most efficient widely used &lt;strong&gt;open source platform&lt;/strong&gt; to test web applications across various browsers.&lt;/p&gt;

&lt;p&gt;Selenium automate the software testing using its &lt;strong&gt;components&lt;/strong&gt; &lt;br&gt;
Web driver, IDE, Grid.&lt;/p&gt;

&lt;p&gt;Web driver - It test websites correctly, will perform the task as per use requirement and make sure the functionalities are working properly, it basically takes you to where you want to be in the application.&lt;/p&gt;

&lt;p&gt;IDE - It record and replay the automation when necessary, whenever we need to repeat the same steps, IDE will help on that.&lt;/p&gt;

&lt;p&gt;GRID - It allows to run your test scripts at multiple web browser either remotely (or) on your own system browser which increases efficiency.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Purpose of its automation : *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Selenium make easy by automating the test cases by writing test scripts and run it whenever necessary.&lt;/p&gt;

&lt;p&gt;Automation will save time, effort and reduce errors, improves efficiency.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Selenium works across different web browser like firefox, chrome, etc..&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Selenium is platform independent, which runs on different operating systems like linux, unix, windows, mac os.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Selenium supports different languages like c, c++, c#, java, javascript, python, etc..&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Selenium is flexible enough which can connect to different tools like Jenkins, Git, Appium.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Selenium support to maintain CICD pipeline, which will perform with continuous integration and continuous developement.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Manual Testing &amp; its Benefits &amp; Drawbacks</title>
      <dc:creator>Kruthika</dc:creator>
      <pubDate>Tue, 26 Dec 2023 07:31:56 +0000</pubDate>
      <link>https://dev.to/kruthika/manual-testing-its-benefits-drawbacks-3ecp</link>
      <guid>https://dev.to/kruthika/manual-testing-its-benefits-drawbacks-3ecp</guid>
      <description>&lt;p&gt;&lt;strong&gt;Manual Testing&lt;/strong&gt; is the process which is used to test an software application manually without any automation tools, this testing is done to find any defects / bugs in software applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Manual Testing has different Stages&lt;/strong&gt; -&amp;gt; Unit testing, Integration testing, System testing, User interface testing, Acceptance testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Manual Testing has different types&lt;/strong&gt; -&amp;gt; Black box testing, White box testing, Grey box testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Process of Manual Testing&lt;/strong&gt; -&amp;gt;&lt;/p&gt;

&lt;p&gt;1) Analyse the software requirement&lt;br&gt;
2) Create a test plan&lt;br&gt;
3) Review the test plan by QA Team&lt;br&gt;
4) Execute the test plan&lt;br&gt;
5) Report and Fix the bug &amp;amp; Run the same to ensure that bug is fixed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Manual Testing Life Cycle&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--h8IyvTbm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kqgf3unzhccau8awiybw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--h8IyvTbm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kqgf3unzhccau8awiybw.png" alt="Image description" width="800" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Manual Testing Benefits&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Manual testing is done by tester which means Human intelligence involved, which can bring Subject Knowledge, Experience and Creativity to find the defects / bug.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Manual testing can be used for cost saving, Adaptability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Manual testing will be Uncomplicated &amp;amp; Simple. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Manual Testing Drawbacks&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Time Consuming which requires more time to perform its purpose.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Human Errors may occur, as human cannot be always perfect in what they do.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Difficult to measure, it is practically challenging to track Quantity of test cases which was executed, Errors discovered, Test coverage attained.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Functional &amp; Non Functional Software Testing differences and relevant example...</title>
      <dc:creator>Kruthika</dc:creator>
      <pubDate>Mon, 18 Dec 2023 14:43:31 +0000</pubDate>
      <link>https://dev.to/kruthika/functional-non-functional-software-testing-differences-and-relevant-example-o79</link>
      <guid>https://dev.to/kruthika/functional-non-functional-software-testing-differences-and-relevant-example-o79</guid>
      <description>&lt;h2&gt;
  
  
  Functional Testing
&lt;/h2&gt;

&lt;p&gt;Functional testing check each features of the software working fine or not based on customer requirement which in turn validates software actions&lt;/p&gt;

&lt;p&gt;_Example:- _&lt;/p&gt;

&lt;p&gt;Testing the software functionalities - consider any web page and do perform functional testing for that web page, we need to check every individual buttons / icons functioning properly or not and for every action there should be result ( whether redirecting to another web page (or) pulling the data from database )&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Functional testing has below types:-&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1) Unit Testing - Testing individual units or components of the software before it is integrated with other components.&lt;/p&gt;

&lt;p&gt;2) Integration Testing - To test the integrated components are working together as intended and data flows smoothly between them or not, this testing is done after unit testing only.&lt;/p&gt;

&lt;p&gt;3) Interface Testing - Testing when different software components (or) systems communicate with one another, the interfaces are API, web services, interface testing is to make sure the date exchange mechanism between them working fine or not.&lt;/p&gt;

&lt;p&gt;4) Regression Testing - Testing the software to verify the newly added components are not making any changes / defects and also to make sure the existing functionalities working fine or not.&lt;/p&gt;

&lt;p&gt;5) User Acceptance Testing - User does this testing to make sure it is acceptable by them before the project goes live.&lt;/p&gt;

&lt;h2&gt;
  
  
  Non Functional Testing
&lt;/h2&gt;

&lt;p&gt;Non functional testing is to validate the performance, reliability of the software based on customer expectation&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Example:-&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Consider any web page and to perform non functional testing need to test their speed, responsiveness, reliability and security of the software.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Non Functional Testing has below types:-&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1) Documentation Testing - does document review / document validation, the document could be SRS, CRS/ design doc/ user manuals, this testing will be performed through out the software development lifecycle to ensure the software document accurately reflects the software functionalities &amp;amp; user instructions.&lt;/p&gt;

&lt;p&gt;2) Installation Testing - This testing is to verify Installation and Uninstallation of the software is error free, this will check the software compatibility with different platforms.&lt;/p&gt;

&lt;p&gt;3) Performance Testing - This testing is to verify the speed, responsiveness, stability, scalability of the software application.&lt;/p&gt;

&lt;p&gt;4) Reliability Testing - Is to test the software consistence and accuracy over time to rectify potential issues like crashes, data corruption, unexpected behaviour during prolonged use.&lt;/p&gt;

&lt;p&gt;5) Security Testing - Is to identify vulnerabilities to make sure software able to protect data, resist attacks &amp;amp; maintain confidentiality and integrity, this testing is usually done by cyber.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Software Testing and its relevance</title>
      <dc:creator>Kruthika</dc:creator>
      <pubDate>Sat, 16 Dec 2023 12:20:53 +0000</pubDate>
      <link>https://dev.to/kruthika/software-testing-and-its-relevance-46gi</link>
      <guid>https://dev.to/kruthika/software-testing-and-its-relevance-46gi</guid>
      <description>&lt;p&gt;&lt;strong&gt;Software Testing&lt;/strong&gt; is the critical phase in development process and it is necessary to fix bugs / issues in the software applications before it is deployed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;The main purpose of software testing are as follows&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To provide high quality product&lt;/li&gt;
&lt;li&gt;To meets customer requirements&lt;/li&gt;
&lt;li&gt;To make sure all the functionalities of the software are working fine&lt;/li&gt;
&lt;li&gt;To identify bugs/issues during development process which in turn helps to reduce the cost and effort of fixing them later.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are two different &lt;strong&gt;types of software testing&lt;/strong&gt;&lt;br&gt;
1) Manual Testing - Humans does the testing&lt;br&gt;
2) Automation Testing - Automated tools does the testing&lt;/p&gt;

&lt;p&gt;Also we have different &lt;strong&gt;levels of software testing&lt;/strong&gt;&lt;br&gt;
1) Functional Testing - checking features of the software&lt;br&gt;
2) Non Functional Testing - checking performance of the software&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Ultimately the Main Objective of software testing process is :-&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identify defects - finding bugs / defects&lt;/li&gt;
&lt;li&gt;Quality Assurance - high quality product&lt;/li&gt;
&lt;li&gt;Risk Mitigation - providing defect free applications&lt;/li&gt;
&lt;li&gt;Validation - To make sure applications meets its intended purpose&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Few Testing Techniques</title>
      <dc:creator>Kruthika</dc:creator>
      <pubDate>Sat, 16 Dec 2023 11:59:48 +0000</pubDate>
      <link>https://dev.to/kruthika/few-testing-techniques-46pg</link>
      <guid>https://dev.to/kruthika/few-testing-techniques-46pg</guid>
      <description>&lt;p&gt;&lt;strong&gt;1) Boundary Value Analysis&lt;/strong&gt;&lt;br&gt;
Its black box testing (testing without internal knowledge) &lt;br&gt;
Analysing using Min and Max values, boundary values, typical values, error values.&lt;br&gt;
&lt;em&gt;Eg:&lt;/em&gt; Boundary value of 1 to 10 is 0,1,2 and 9,10,11 and if value is not within the range ( 1 to 10 ) then the system should throw error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) Decision Table Testing&lt;/strong&gt;&lt;br&gt;
Its black box testing, which respond to different combination of inputs or events and used for complex decision making&lt;br&gt;
&lt;em&gt;Eg:&lt;/em&gt; Amazon website purchase&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;For prime members the discounts are different ( for Rs 3000 above purchases - the discount would be 15% and for Rs 3000 below purchases - the discount would be 10% )&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For Non Prime members the discounts are different ( for Rs 3000 above purchase - the discount would be 5% and below that would have no discount ) &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;so these are different combination of inputs or events and decision table testing will help to check such combination of scenarios&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3) Use Case Testing&lt;/strong&gt;&lt;br&gt;
Its black box testing, it validates the system behaviour for different use cases (or) scenario &lt;br&gt;
&lt;em&gt;Eg:&lt;/em&gt; ATM Machine&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;if pin is correct, the system will allow to withdraw the money directly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;if pin is incorrect, the system will not allow to withdraw the money and calculates your no. of attempts and suspends your card once it reaches the maximum attempts&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4) Linear code sequence and Jump Testing&lt;/strong&gt;&lt;br&gt;
Its White box testing and will Ensure that all parts of the coding are working fine within the code &lt;br&gt;
Both linear sequential as well as jumping sequential&lt;br&gt;
&lt;em&gt;Eg:&lt;/em&gt; Take age as input and check if the person is eligible to vote&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;if age is &amp;lt;18 - the person is not eligible for voting&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;if age is &amp;gt;18 - the person is eligible for voting&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
