62
Software Testing as a Service (STaaS)
Today’s information systems are becoming increasingly complex and, with
the increasing number of mobile devices, are also being distributed wide
and becoming highly reactive. Due to this, quality requirements are a major
concern. Depending on the sector, the diverse quality attributes (for
example, functional correctness, performance, security, trust, usability or
safety) have different priorities. Demonstrating that the software fulfills the
required quality attributes includes establishing appropriate software
engineering methods, verification, and validation techniques. Software
testing, if carried out systematically and well‐founded, is nowadays
considered as an important task during the software life‐cycle as software
testing is an evidence‐based technique. This firstly allows one for the
identification of faults and secondly establishes trust into the behavior of
the software. Testing is an important instrument that can provide insight
into the (sector specific) quality of software. However, testing has to be
embedded into the quality management of an organisation and therefore
does not solely cover technical issues. Integration into quality management
and the process landscape is equally important than mastering adequate
usage of testing tools. Activities around testing are typically grouped into
test levels. Most common are three levels:
Developer Tests
:
With these tests the development team
demonstrates that the specific quality attributes are fulfilled. Mostly
these tests address functional aspects.
System Tests
:
With these tests the supplying party (business unit,
software supplier) demonstrates that the system meets the
functional and non‐functional quality attributes.
Acceptance Tests
:
With these tests the accepting party confirms that
the software meets the expectations.
Ideally STaaS could eliminate the need for testing the clients application on
their own infrastructure, meaning there is no need for the client to set up
an, often costly, test infrastructure that resembles the productive
environment. However, upfront investments in testing do not end at the
infrastructure level. STaaS strives to eliminate the need for investments in
test tooling, tooling for quality assurance, and the various support tools for
systematic and structured testing (risk management, resource management,
and quality dashboards). Although there are various reasons for using STaaS,
in practice there is a mixture between in‐house testing and STaaS. The
reason for this is that for different types of testing (functional tests, testing