Central Authentication Service Software Testing
Central Authentication Service Software Testing
Central Authentication Service Software Testing
Prepared by:
Bintang Pamungkas WEK100733
For:
Dr. Nazean Jomhari
1
Question:
2
Introduction
1. Definition
CAS is an enterprise Single Sign-On solution for web services.
Single Sign-On (SSO) means a better user experience when running
a multitude of web services, each with its own means of
authentication. With a SSO solution, different web services may
authenticate to one authoritative source of trust, which the user
needs to log in to, instead of requiring the end-user to log in into
each separate service.1
1 https://wiki.jasig.org/display/CAS/Home
3
Because of its reliability, today CAS has been used widely
among the universities all across the universe, even University of
Malaya also has adopted the CAS that we will see whenever we want
to access the applications which University of Malaya provided, such
as SPECTRUM.
Until today, there are four official CAS clients according to the
JASIG CAS website. These four official clients are Java, PHP, .NET and
4
Apache. Besides those four official clients, CAS also can be
integrated to other clients such as Perl, uPortal, Google Web Toolkit,
TikiWiki, etc.
Content
1. Software Testing
5
system it is used then we have to do the test thoroughly. Company “A”
has a lot of un-integrated applications such as Leave Management
System that uses PHP, Meeting Calendar System that uses Java and
also an email client using Gmail. So, the first thing we want to do is to
do the unit test. We have to check the applications the company
already have. But, since all of the applications are not integrated, we
do not have to check the whole system by pairing and integrating each
application. All we have to do is to integrate every application with the
CAS itself.
After done with the individual tests, we shall proceed to the main
testing, the CAS testing. I have figured out some of the main features
that need to be tested. These features are:
1) Compatibility
First of all, we have to make sure that the client (applications
that the company “A” has) is compatible with the CAS. As already
said in the introduction part of this essay, CAS only supports four
official clients and few unofficial clients. The three examples of
the applications the company “A” has will pass this test, as Java
and PHP are the official clients of JASIG CAS and Gmail also can
be integrated with CAS as Google Web Toolkit considered as
unofficial client of CAS.
2) Security
Security in CAS is one of the most crucial things that need to
be tested, because, CAS basically is a tool used as a “ticket” to
pass to varied applications provided in the system. We have to
6
make sure there are no crucial holes in the system, and if we
found it, we have to fix it as soon as possible.
3) Stability
Since CAS plays a very important role as a gateway to varied
applications used in the company “A”, we have to make sure its
stability. The CAS has to be able to work for 24/7, and when it is
down it can be fixed in no time (this thing will be covered under
the aspect of maintainability).
To test this aspect, maybe we can try to flood the system with
traffic and see how many traffics it can withstand simultaneously.
If it can handle a lot of traffics simultaneously, then the system is
stable enough to be launched.
4) Maintainability
Maintainability comes after stability, because they system
does not always go as we planned. Here, maintainability plays its
role. Whenever the system is down, it must be repaired as soon
as possible. A maintainable system will help to cut down the cost
and the time of repair.
7
tested using customer data to check that it meets the customer's real
needs. (Sommerville, 2007, p.402). Acceptance testing is also known as
Alpha test.
The next step after Alpha test, is the Beta test. Beta test lets some
potential customers to use the software and then reports and gives
feedback to the system developers. The reports and feedbacks will be
used by the system developers as an input to develop the system further.
And after that, usually the team will decide whether the system ready to
be launched or not.
8
Conclusion
From the explanations above, we can see that software testing plays
an important role to make sure that we are building the right software in
the right way. Software testing in Central Authentication Service will
include a lot of aspects such as, compatibility, security, stability, and also
maintainability. And the test also has to be made in such an appropriate
order. Besides that, we also have to test the un-integrated units first.
Since CAS plays a very important role to the whole system, then we have
to do the test thoroughly and precisely.
9
References
10