<?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: Mohd Hasan Rizvi</title>
    <description>The latest articles on DEV Community by Mohd Hasan Rizvi (@mhrizvi).</description>
    <link>https://dev.to/mhrizvi</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%2F1284447%2F3403cc5c-9f5b-4122-90bf-af0fcd579e56.png</url>
      <title>DEV Community: Mohd Hasan Rizvi</title>
      <link>https://dev.to/mhrizvi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mhrizvi"/>
    <language>en</language>
    <item>
      <title>What is Functional Testing and Non-Functional Testing? Give example in support your answer.</title>
      <dc:creator>Mohd Hasan Rizvi</dc:creator>
      <pubDate>Tue, 19 Mar 2024 06:08:41 +0000</pubDate>
      <link>https://dev.to/mhrizvi/what-is-functional-testing-and-non-functional-testing-give-example-in-support-your-answer-c26</link>
      <guid>https://dev.to/mhrizvi/what-is-functional-testing-and-non-functional-testing-give-example-in-support-your-answer-c26</guid>
      <description>&lt;p&gt;Functional  Testing-It is based on customer requirements  given by the customer and it works on how the software is expected to work in final output. It involves  testing each feature of the software with giving various inputs and recording outputs  and comparing them with expected results. It is carried out to validate software  actions. It is easy to execute the functional testing manually .It helps to cover all the corner cases of the software testing by mutual agreement of the test strategy by tester  through client interaction. It involves testing of APIs,UserInterfaces,server ports etc.It is performed before non-functional testing.&lt;br&gt;
Examples of Functional Testing-Unit Testing,Smoke testing,User Acceptance,Integration Testing,Regression Testing&lt;br&gt;
The Key aspects of Functional testing-&lt;br&gt;
1)To cover all the requirements given by the customer.&lt;br&gt;
2) Meet the production level requirement of the software.&lt;br&gt;
3) Validate the behavior of the application in each and every aspect.&lt;/p&gt;

&lt;p&gt;Non-Functional Testing-&lt;br&gt;
It is a type of testing to test non-functional parameters  of a software application. It is based on customer expectation. It is difficult to define the requirements for non-functional testing.It is done mostly to validate the performance specifications. It explains how the product works.A good example of non-functional testing would be to see how many people would be able  login  to the software.The key aspects of non-functional testing  include-&lt;br&gt;
1)To test the corner user aspects of the application.&lt;br&gt;
2) To let the user test whatever he wants and confirm the operability.&lt;br&gt;
3) To validate the all types of  documentation and relevant info which are left in  functional testing.&lt;br&gt;
4)To let the customer and test what additional scenarios, he wants too test.&lt;br&gt;
Examples-Scalibility Testing,Stress and Robustness Testing.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Boundary Value Analysis,Decision Table Testing,Use Case Testing ,LCSAJ Testing</title>
      <dc:creator>Mohd Hasan Rizvi</dc:creator>
      <pubDate>Mon, 04 Mar 2024 15:39:24 +0000</pubDate>
      <link>https://dev.to/mhrizvi/boundary-value-analysisdecision-table-testinguse-case-testing-lcsaj-testing-4f9o</link>
      <guid>https://dev.to/mhrizvi/boundary-value-analysisdecision-table-testinguse-case-testing-lcsaj-testing-4f9o</guid>
      <description>&lt;p&gt;1)Boundary Value Analysis- It  checks the functionality of the system on the corner cases or extreme boundaries for valid and invalid cases. It checks for input values near the boundary that have high chance of error.Any corner case that for a valid partition is a valid boundary value while for an invalid partition is an invalid boundary value.&lt;br&gt;
For each variable we check-&lt;br&gt;
1)Minimum Value.&lt;br&gt;
2)Just above the minimum.&lt;br&gt;
3)Nominal Value.&lt;br&gt;
4)Just below max value.&lt;br&gt;
5)Max Value&lt;br&gt;
Example-Consider a system that accepts age from 18 to 56-&lt;br&gt;
Invalid    Valid&lt;br&gt;
Min(-1)  Min,Min+1,Nominal,Max-1,Max                  Invalid&lt;br&gt;
17          18,19,37,55,56                                                       57&lt;/p&gt;

&lt;p&gt;2)Decision Table Testing-&lt;br&gt;
Decision table testing is a software technique used to test the system for different input and expected output combinations.All the inputs and outputs are captured in tabular form.It is also called Cause effect where cause and effects are captured for best coverage.It is very simple to identify bugs and missed/error conditions and testers can identify easily using it.It can easily be understood and doesn’t require much knowledge and easy to create.&lt;br&gt;
Example-Consider a decision table for login screen-with username and password-&lt;br&gt;
Username      Y           N       Y        N&lt;br&gt;
Password           Y        N       N       Y&lt;br&gt;
Error Message    N      Y        N          N&lt;br&gt;
Result   Y      N         N         N&lt;br&gt;
N-for No&lt;br&gt;
Y-for Yes&lt;br&gt;
It  helps  to test different combinations  of conditions and provides a better test coverage for complex business logic.This table can be used as the reference for requirement  and functionality development as it is easy to understand in layman terms.It can solve many complex business conditions easily by using decision tables.&lt;br&gt;
The only disadvantage is  when number of input conditions are too high,the table becomes complex.&lt;/p&gt;

&lt;p&gt;3)UseCase Testing-Use case testing is a testing  technique that cover entire system on a transaction basis from start to end.It helps to test scenarios  based on user interactions with the system and the observations.It helps to cover all the corner cases which would help to understand each system  functionality completely together.&lt;br&gt;
4)LCSAJ-Linear Code Sequence and Jump-It is aa white box testing methodology used to determine the code coverage .It is defined by what percentage of code is executed with the existing test cases.It helps in designing new test cases which can increase the coverage of the code.We can easily determine when the testing of a software completed based on it.&lt;br&gt;
A single LCSAJ has the following three components-&lt;br&gt;
1)Start of  the segment&lt;br&gt;
2)End of segment&lt;br&gt;
3) A specific target line.&lt;br&gt;
Certain metrics are used to  check the code coverage.These metrics helps us determine  if the testing is enough or not. These metrics  are called Test Effectiveness Ratio.(TER).&lt;br&gt;
TER1-Number of statements executed by the test data,divided by the total number of statements.&lt;br&gt;
TER2-Number of conditional –flow  branches executed  divided by  total number of control flow branches.&lt;br&gt;
TER3-Number of LCSAJs executed divided by the total number of LCSAJs.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Software Testing</title>
      <dc:creator>Mohd Hasan Rizvi</dc:creator>
      <pubDate>Tue, 27 Feb 2024 14:48:59 +0000</pubDate>
      <link>https://dev.to/mhrizvi/softwar-testing-44nn</link>
      <guid>https://dev.to/mhrizvi/softwar-testing-44nn</guid>
      <description>&lt;p&gt;Software Testing is carried on to ensure smooth and error free delivery of any product or prototype.It covers the boundary value cases and strength and robustness testing.Testing in layman terms helps  to find flaws in design and development of any product.Testing  helps to find bugs in  a product  from development till deployment and delivery.Testing covers all aspects –security,hardware dependency,upgrade etc.It requires a proactive approach to deal with  all kinds of bugs and failures of a software.&lt;br&gt;
Software testing is the key element for any quality deliverable to the end customer. It  involves checking different parameters like system resources,dependencies,boundary checks,code quality checks to  make it mark as effective.The testing are of  various types –white box,black box and gray box testing.White box testing  means to verify the internal structure or workings of  a module or a program.Black box testing means to test the functionality of a software without knowing the internal details of it.Gray box testing means  testing the software by privileges in the program/software.Software testing is involved at various levels.&lt;br&gt;
1)Unit Testing-The testing done by developers on the code to test the functionality.&lt;br&gt;
2)Integration Testing-Testing done to check and integrate modules,and how they respond in  a particular environment.&lt;br&gt;
3)System Testing-It tests the complete integrate system to verify the requirements.&lt;br&gt;
4)Acceptance Testing-It is of  various types-&lt;br&gt;
I)User Acceptance Testing-(UAT)&lt;br&gt;
ii)Operational Acceptance Testing(OAT)&lt;br&gt;
iii)Contractual and Regulatory Acceptance Testing&lt;br&gt;
iv)Alpha and Beta Testing&lt;br&gt;
5)Compatibility Testing-A system is not compatible with other applications .&lt;br&gt;
6)Smoke and Sanity Testing-Minimum tests to qualify the build/software.Sanity testing determines whether it’s reasonable to proceed with further testing.&lt;br&gt;
7)Regression Testing-It focuses on finding defects after a major code change has occurred.&lt;br&gt;
8)Alpha Testing-It is operational testing by users.&lt;br&gt;
9)Beta Testing-It is an external user acceptance testing.&lt;/p&gt;

&lt;p&gt;Functional vs Non-Functional&lt;br&gt;
-&amp;gt;Functional testing refers to activites that verify a specific action or function of code.Non-functional testing refers to testing from end users perspective.example-scalability and performance.&lt;br&gt;
The relevance of software testing is to anaylse bugs and defects both during development,testing and till delivery phase. It helps both client and developers and managers to check for faults and raise the concerns  post development  through agile methodlogy.Agile methodlogy of testing is incremental and iterative.Each time a new feature or enhancement  is done on a feature,it needs to be tested in regression.Testing of a product helps in following ways-&lt;br&gt;
1)Raising the secondary issues before actual delivery.&lt;br&gt;
2)Covering the corner cases&lt;br&gt;
3)More robustness  testing of small enchancements to feature or whole system&lt;br&gt;
4)Performance and scalability testing helps in testing the system  in any environment which promotes effortless delivery.&lt;/p&gt;

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