Wednesday, March 25, 2020

Test Automation Process

Drawbacks of Manual Testing:

1) Manual Testing requires more time or more resources, some times both Time and Resources.
2) Less Accuracy
3) Performance testing is impractical in manual testing.
4) Comparing large amount of data is impractical.
5) Batch Testing is possible, but for each test execution Human user interaction is mandatory.
6) Manual Test Case scope is very less, if it is Automated test, scope is more.
7) Executing same tests again and again is time taking process as well as Tedious.
8) For every release you must rerun the same set of tests which can be tiresome.

Advantages of Manual Testing:
1)No Environment Limitations
2) Programming Knowledge is not required.
3) Recommendable for Dynamically changing GUI designs.
4) Manual testing allows for human observation, which may be more useful to find potential defects.

Test Automation

Testing the Software using any automation tool is called Test
Automation.


Advantages of test Automation:

1.Fast
2.Reliable
3.Reusable
4.Repeatable
5. Programmable

Drawback of Automation Testing:

1.It is Expensive
2.Lack of Expertization.

3.Requires Constant maintenance.
4.We cannot automate all the areas(Either technology may not be supported or it will
be very costly).

Example for technical limitations:

1.Multimedia Testing
2.Game testing
3.Printer Testing
4.Usability Testing
5.Adhock Testing
6.Verification of graphics charts & Animations
7.Captcha
8.Authentication through card swiping or Biomatrix scanning.
9.Entering product details through bar code scanning.
10.Tracking patient/instrument movement through RFID (Radio-Frequency
Identification)

Sunday, March 22, 2020

Regression Testing V/s Retesting

Regression Testing

Re Testing

Testing the unchanged functionalities of application to make sure it is not broken because of changes.
Verifying whether the bug is fixed or not
Defect verification is not the part of Regression Testing

Defect verification is the part of re-testing

Based on the project and availability of resources, Regression Testing can be carried out parallel with Re-testing

Priority of re-testing is higher than regression testing, so it is carried out before regression testing

You can do automation for regression testing, Manual Testing could be expensive and time-consuming

You cannot automate the test cases for Retesting

Regression testing is done for passed test cases

Retesting is done only for failed test cases

Regression testing checks for unexpected side-effects

Re-testing makes sure that the original fault has been corrected

Test cases for regression testing can be obtained from the functional specification, user tutorials and manuals, and defect reports in regards to corrected problems

Test cases for retesting cannot be obtained before start testing.

Regression Testing



Regression Testing is a type of testing that is done to verify that a code change in the software does not impact the existing functionality of the product.This is to make sure the product works fine with new functionality, bug fixes or any change in the existing feature. Previously executed test cases are re-executed in order to verify the impact of change.

Testing the unchanged features in order to make sure that it broken because of changes,here changes would be addition of new feature, modification of existing feature, removal of feature or bug fixes.

OR

Re execution of same test cases in different build or test cycle is in order to insure that changes are not impacted unchanged features.

Regression V/S Re-Testing:


Selecting test cases for regression testing

It was found from industry data that a good number of the defects reported by customers were due to last minute bug fixes creating side effects and hence selecting the Test Case for regression testing is an art and not that easy. Effective Regression Tests can be done by selecting the following test cases.


             Test cases which have frequent defects
             Functionalities which are more visible to the users
             Test cases which verify core features of the product
             Test cases of Functionalities which has undergone more and                 recent changes
             All Integration Test Cases
             All Complex Test Cases
             Boundary value test cases
             A sample of Successful test cases
             A sample of Failure test cases

Challenges in Regression Testing:

     With successive regression runs, test suites become fairly large.  Due to time and budget constraints, the entire regression test suite cannot be executed

     Minimizing the test suite while achieving maximum Test coverage remains a challenge

     Determination of frequency of Regression Tests, i.e., after every modification or every build update or after a bunch of bug fixes, is a challenge.

Regression Testing Tools:
        Selenium
        Ranorex Studio
        Katalon Studio
        AdventNet QEngine
        Regression Tester
        vTest
        Watir
        actiWate
        Rational Functional Tester
        SilkTest
        TimeShiftX