Developing new software systems is often an exciting and dynamic undertaking that starts off with a carefully arranged set of numbers and codes slowly evolving into a fully functional and operating masterpiece product. In an ideal world, this process is marked with regular test check-points in which developers are able to weed out bugs and mend any foreseeable issues to come - but in the real world, this is not quite the case.
In this ever-changing, fast-paced tech landscape we exist in the reality is that it's almost impossible to keep up with the testing necessary to build a solid and efficient, quality product that's successfully delivered within a client's often fixed and very tight deadline. Doing so would most likely require additional costs to the development process and/or a 24 hour a day work ethic that holds strong through the project's duration.
Here's where the benefits of test automation kick in; a time-saving, quality control system that allows you to manage the execution of tests and the comparison of actual outcomes with predicted outcomes. Once set up the benefits are almost immediately apparent.
Not convinced? Check out the presentation below where we take you through the detailed benefits of using Automated Testing over Manual Testing:
2. control the execution of
tests and the comparison
of actual outcomes with
predicted outcomes.
“
3. Benefits of Automated
Testing
Testing Improves Accuracy
Saves Time and Money
Vastly Increases Your Test Coverage
Better visibility into app performance
No Testing fatigue, Tedious or Complicated Tests and Scale
Simulation
Automation Does What Manual Testing Cannot
QA and Dev Team Morale Improves
Tests are reusable
4. Benefits of Manual
Testing
Less expensive in the short-term
Get visual feedback
The human element - Opinionated
Better visibility into app performance
Flexible, on-the-fly testing
6. API driven testing uses
a programming
interface to the
application to validate
the behaviour under
test.
API driven
testing
Graphical user interface
testing generates user
interface events and
observes the changes
that result in the user
interface
GUI driven testing
Types of testing
8. There are many types of testing
Test TypesUnit Testing
Integration Testing Functional Testing
System Testing
Stress Testing
Black Box Testing
Performance Testing
Usability Testing
Acceptance Testing
Regression Testing
Beta Testing
Smoke Testing
Data Driven Testing (DDT)
9. Unit Testing
Unit testing is the testing of an
individual unit or group of related units.
It falls under the class of white box
testing. It is often done by the
programmer to test that the unit he/she
has implemented is producing expected
output against given input.
11. Unit Testing (PHP)
<?php
use PHPUnitFrameworkTestCase;
class StackTest extends TestCase
{
public function testPushAndPop()
{
$stack = [];
$this->assertEquals(0, count($stack));
array_push($stack, 'foo');
$this->assertEquals('foo', $stack[count($stack)-1]);
$this->assertEquals(1, count($stack));
$this->assertEquals('foo', array_pop($stack));
$this->assertEquals(0, count($stack));
}
}
?>
12. Unit Testing (C#)
[TestMethod]
public void Withdraw_ValidAmount_ChangesBalance()
{
// arrange
double currentBalance = 10.0;
double withdrawal = 1.0;
double expected = 9.0;
var account = new CheckingAccount("JohnDoe", currentBalance);
// act
account.Withdraw(withdrawal);
double actual = account.Balance;
// assert
Assert.AreEqual(expected, actual);
}
13. Integration
Testing
Integration testing is testing in which a
group of components are combined to
produce output. Also, the interaction
between software and hardware is
tested in integration testing if software
and hardware components have any
relation. It may fall under both white
box testing and black box testing.
14. Functional
Testing Functional testing is the testing to
ensure that the specified functionality
required in the system requirements
works. It falls under the class of black
box testing. Traditionally, functional
testing is implemented by a team of
testers, independent of the developers.
15. Regression
Testing
Regression testing is the testing after
modification of a system, component,
or a group of related units to ensure
that the modification is working
correctly and is not damaging or
imposing other modules to produce
unexpected results. It falls under the
class of black box testing.
16. Performance
TestingPerformance testing is the testing to
assess the speed and effectiveness of
the system and to make sure it is
generating results within a specified
time as in performance requirements. It
falls under the class of black box
testing.
17. C# PHP JS
Unit Testing Native PHPUnit,
Codeception
Jasmine,
Mocha, AVA,
Tape and Jest
Functional Testing Native Codeception Nightwatch.js
Integration Testing Native Codeception,
Behat
pioneer.js,
Native
Performance Testing TestComplete Blackfire.io Dromaeo,
Artillery, Native
Tools for the Testing Trade