Sunday, July 26, 2020

Getting started with Web UI testing using TestProject

CONTENTS
1.Introduction to TestProject
2.History of TestProject
3.Features of TestProject
4.What’s unique in TestProject?
5.Getting started with TestProject
6.Web UI Testing using TestProject
7.Overview of new TestProject SDK
8.Conclusion
 
Let's get started with TestProject....!!!!!!!!   
1. Introduction to TestProject
First let us learn “What is TestProject?”

TestProject is an open source end to end test automation platform for web, mobile & API testing that supports by the #1 test automation community.

It supports Windows, MAC and Linux Operating Systems.
It supports Web, Android, IOS and Webservices platforms.
In simple sentence I can say that “It is a codeless automation tool with record & playback feature and allows to schedule jobs as well.”
2.  History of TestProject
TestProject was developed in 2015.The first public version was launched in April,2018.
They have a super cool website with very easily understandable documentation and online chat all time.
You can find all the details in their website  TestProject 
3. Features of TestProject
Let us see all the features of TestProject listed in the below flow diagram.
4. What’s unique in TestProject?
The below diagram clears us what is unique in TestProject.
5. Getting started with TestProject
I know by seeing all   the cool existing features, you will be eager to get started with TestProject. It can all be done in just few simple steps:
Create a TestProject account and go through the below links:
2. Installation and Setup
6. Web UI Testing using TestProject
Step:1: Creating a Project
            Once you login to TestProject, the below web page will be displayed.
            Click on “Add a New Project” button.

Step:2: Give the Project details as shown in below web page

Step:3: Project will be created and click on the Project, you will be displayed with below web page.


Step:4: Click on ‘Create a Test’ and add a new test. You can actually add a test using three ways highlighted below.

Step:5: Select whether it is web , mobile or code.

Step:6: Add Test Details.

Step:7: Select the web application and add the details.
















Step:8: Start Testing and you will be redirected to web page and you can add the steps so that it will record.

Step:9: You can add validations, you can download the manual test case which is well organized.



Step: 10 : Creating a job can be done with two ways as shown below :

Step:11: Select whether it is Web, Android or IOS and click on ‘Next’ button.

Step: 12: Give the Job details.

Step:13: Select the agent browser.

Step:14: Once the job is created we need to add the Test to the job by drag and drop as shown below. (Drag and Drop from left to right)

Step:15: Once the tests are added to Job ,we can schedule or run.

Step:16: Click on ‘Run’ option and reports will be generated under ‘Reports’ tab.
Click on Reports tab and you will displayed with detailed report as shown below.

These are the simple steps to get started with TestProject for Web UI Testing.
TestProject has many more features to explore and excited to use as well. It is a very good platform to learn, explore and share. We can even get Java code by running the automation test.

7.Overview of new TestProject SDK
   TestProject has announced new SDK on July 14th,2020 with lots of additional cool features.
   The main highlight is “It supports a powerful language “Python” and lot more additional features.
   Let us have a look at them.

8.Conclusion

Even I have excited to learn more about this new SDK in detail. I hope the above flow diagram gives an overview of new TestProject SDK at a high-level.
Hope my blog helps to get you started with Web UI Testing with simple test and get to know about the cool features of new SDK as well.
Thanks for reading my longest Blog...!!!!


Sunday, July 12, 2020

Mathematics in Software Testing!!!!

Role of Mathematics in Software Testing.....🔢🎲🧮!!!!!


                As we all know that Mathematics plays very important role in our day to day life. Even in Software Testing also Mathematics plays a key role actually. To understand the role of Mathematics in Software Testing, it is very important to understand “What is Software Testing?”.

In Broader terms,

Software Testing = Verification + Validation

Verification = Ensure system meets the specification and has been built as per that specification.

Validation = Ensure system meets the overall purpose of the end user.

Mostly Software Testers end up in testing Web, APIs, front end and backend applications and combinations also….

Software Testing does not relate directly to Mathematics, but we use Mathematics in Software Testing. It does not required to know Mathematics at pro level but indirectly we use Basic Mathematics.

We use Basic Mathematics concepts like Arithmetic operations, Simple Interest, Compound Interest, Percentage, Excel Operations, Probability, Algebra etc.

Let us take an example of simple E-commerce application,

When user orders an item and clicks on “Buy Now” button, assume user has some amount in Wallet & user wants to use that Wallet amount to purchase.

Let us assume total cost of the item is X, user has Y amount in his wallet and rest of the amount user wants to pay using net banking.

To test this , we need to prepare test data, to prepare we need Mathematics skills.

X-Y=Z
where X is total cost of the item, Y is Wallet amount and Z is the amount that needs to be deducted through Net Banking. To test this scenario, we need to prepare test Data using Mathematical skills like Addition, Subtraction.

To this even developer need Mathematical skills, it means Software Engineering needs Mathematical skills not only Software Testers.

Let us take another example of Bank Application,

Assume X person has taken a loan of amount Y with interest having 10.5 % per annum for a tenure of 4 years. He will repay the amount in monthly EMIs and he will track it in Bank application.
 Here to test this scenario, we need to prepare test data to verify and validate. For that we need Mathematical skills like Simple Interest, Compound Interest, percentage.

Even though Mathematics is not required but basics of Mathematics is a must for Software Testing I can say. Mathematics is a one of many fields actually. Software Testers need mathematical & logical thinking skills. Software Testing requires very basic mathematical skills & logical skills, particularly proof based mathematics.

Most of the Software Engineering concepts do not directly use mathematics, they certainly use it.

Here are some of the mathematical skills which is very basic & used by the Software Testers:
  • Checking totals and arithmetic operations--- For calculating tax etc.
  • Percentage calculations---when testing promotional sales and discount operations.
  • Calculating averages and Standard deviations---for salary and few operations like rating related operations.
  • Calculating conversions ---hours/minutes/seconds to decimal time
  • Currency conversions--- Rupee to Dollar...etc.
  • Calculating Simple Interest, Compound Interest for Bank related operations.
  • Algebra ---for Cyclomatic complexity and Robustness testing. 
Below are few of the Basic Mathematical formulae used by testers:

1. Average formula:
    Let a1,a2,a3,...........so on till n be a set of numbers, average=(a1+ a2+ a3+......n)/n
    Percentage to fraction: x%=x/100
    Percentage formula: Rate/100=Percentage/base
    Rate: The percent
    Base: The amount you are taking the percentage of.
    Percentage: The answer obtained by multiplying the base by the rate.

2. Percentage: 
    Discount rate=discount%MRP Price
    Sales Tax=Price of item*Tax rate
    Interest=Principal*rate of interest*time

3. Consumer Mathematical formulas:
    These are used in Ecommerce applications mostly
    Discount =MRP Price* discount rate
    Price after Discount=MRP Price-Discount

4. Cyclomatic Complexity=L-N+2*P
     where L=No of Edges in flow graph
     where N=No of nodes in flow graph
     where P=No of Nodes that have exit point

5.   Conversion of time:
    1.  Converting hours to minutes: Minutes=Hours*60
    2. Converting minutes to hours: Hours=Minutes/60

6.  Simple Interest:
Simple Interest= P*T*R/100 
Amount = P(1+R/100)T
Where P=Principal
             T=Time (in years)
             R=Rate of Interest

This is the very brief article but it should be enough to give an basic idea of where mathematical skills are used in the Overall Software Testing.

      As Paul Halmos said “The only way to learn maths is to do maths”, in the same way we can say that “The only way to learn Software Testing is by testing the Software”.

I hope you liked my article …!!!
Happy Software Testing…!!!!

Thanks for reading my article.




Wednesday, July 1, 2020

What is Desktop Application Testing?

As we all know that we have various types of applications ,Desktop application is also one and obviously we need testing for that as well.

First we will see, What is Desktop application or Standalone application?



In simple sentence, an application that can be installed on a single computer(Laptop or Desktop) & used by only one person is called Desktop application/Standalone application testing.

Example: Adobe Photoshop, MS Office, Calculator.....etc

For Desktop applications, there is no requirement of servers & entire application is installed on the end user's machine.It is just a program that runs independently on a Desktop Operating System.
In Desktop application Testing, installation and uninstallation is also very important.

Some common types of Desktop application testing includes:
1.Graphical User Interface testing.
2.Load Testing.
3.Functionality Testing.
4.Database Testing.
5.Performance Testing.
6.Compatibility Testing.

Common defects in Desktop applications may include:
1.Installation and Uninstallation process.
2. Behaviour of System before and after installation of application.
3.Warning messages.
4.Error in Icon of application.
5.Success messages.
6.OS Compatibility.
7.Check for various tabs and links.
8.Resolution of the screen.
9.Print Compatibility.
10.Theme compatibility.
11.Cache update
12.Load testing.
13.Testing with multiple accounts (if there are multiple users)
14.Check for continuous usage of the application.
15.Check for navigations from page to page.
16.Time taken by the application to load.
17.If the application is having logs at the back end ,need to check the logs as well.

These are the common defects which came to my mind while testing desktop application.

In my point of view, Desktop application testing have slight differences from Web Application Testing.

Happy Testing..!!!