Friday, October 11, 2019

What is software testing, software test automation, and functional software testing

Software test automation in Appium WinAppDriver and C# .Net
Software test automation in Appium WinAppDriver and C# .Net

Software testing is the process of using an application according to a test plan with the goal to find defects in the application under test.

Automated testing is the discipline which uses various tools to make the machines perform software testing for us with little to no human intervention.

Automated functional testing is one of many types of automated testing.

Functional Testing:
Functional testing is performed through the user interface of an application
A tester performs various operations on the application under test according to certain test cases.
The test cases can be categorized with respect to their scope.

Smoke Testing:
The set of test cases which makes sure that the application’s basic functionality is intact are called smoke tests.
The term originates in the electronics industry where an appliance is turned on right after manufacturing just to make sure it does not burn and give smoke.

Regression Testing: 
Another important classification of test cases is called regression tests,
Regression tests make sure that a functionality which was working in the past has not stopped working after some changes in the application..

When to run smoke tests and regression tests?

Smoke test and regression tests are commonly executed on production systems after changes like

  1. Hardware updates
  2. Firewall (or loadbalancer)updates
  3. Operating System updates 
  4. General software updates

Common causes of automation testing
The aforementioned reasons mean the testers have to perform smoke tests and regression tests repeatedly after application or system updates.
It is a boring and labor intensive task.The agony is amplified when the testers have to take screenshots for auditing purpose.
Many such system updates are done during the holidays, the testers have to come and do all testing over the holidays which adds injury to insult.

These causes make functional testing is a prime candidate for test automation.
At my current job(an insurance company) for example, there are forty business critical applications. In the past about 20 people had to come to office for testing when a patch was deployed.
But now all of the work is automated and only one or two persons come and run all the scripts.

Automated functional testing is performed using various test automation tools
The most powerful way to automate testing is writing code to perform repeating tasks on the application UI for you.

These scripts also make sure that the application under test is showing the correct expected results
Popular test automation tools also produce test pass/fail reports to give an overview of system health.
Once these scripts are in place, it is possible to configure them with various continuous integration systems such that they can execute the scripts with little or no human intervention
The point to be noted here is that applications under development are unsuitable for automated functional testing.
When an application is under development it is optimal for testing with other types of automation such as unit testing and integration testing.
A large number of business critical Windows applications are already deployed across the enterprise world right now
These applications must be tested after every system or application update by manual testers, to keep the core business running.
These applications are the prime candidates of functional test automation
In this course, I’m going to show you how to create test scripts for testing various types of Windows applications such as Win32, WinForms, WPF, and UWP using Microsoft’s next generation test automation technologies namely WinAppDriver.

I've launched a course about Automated UI Testing using WinAppDriver with C# .Net, here's a best price discount coupon that will last only 5 days.

After the discount has expired, you may get the course here:


  1. Nice Blog, When I was read this blog, I learnt new things & it’s truly have well stuff related to developing technology, Thank you for sharing this blog. Need to learn software testing companies, please share. It is very useful who is looking for
    Low code automation platform
    Mobile Testing Services
    QA Services

  2. Thanks for Sharing Information to us. If Someone wants to know about Top Software testing Companies this is the Right place for you!


Feel free to talk back...