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 to find defects in the application under test.

Automated testing is the discipline that 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 concerning their scope.

Smoke Testing:
Smoke tests are the set of test cases that ensures the application’s basic functionality is intact.
The term originates in the electronics industry, where an appliance is turned on after manufacturing just to ensure it does not burn or give smoke.

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

When to run smoke tests and regression tests?

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

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


Common causes of automation testing
The aforementioned reasons mean the testers must perform smoke 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 purposes.
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 the insult.

These causes make functional testing a prime candidate for test automation.
For example, my current job(an insurance company) has forty business-critical applications. In the past, about 20 people had to come to the 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 by 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
To keep the core business running, these applications must be tested after every system or application update by manual testers.

These applications are the prime candidates for functional test automation
In this course, I will 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 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.
https://www.udemy.com/course/appium-winappdriver-automation-testing/?couponCode=0B4AAB139DEA09114D95

After the discount has expired, you may get the course here:
https://www.udemy.com/course/appium-winappdriver-automation-testing/?referralCode=ED22C3A4CE5BB5E22E53