3) SYSTEM TESTING
It
is end-to-end testing wherein testing environment is similar to the
production environment.
Here, we navigate through all the features of the software and test if the end business / end feature works. We just test the end feature and don’t check for data flow or do functional testing and all.
Let us consider an
example to explain System Testing.
Let us consider Citibank wants a
software for overdraft feature. It asks IFlex company to develop the software
and it provides CRS to develop the feature. The CRS contains how the overdraft
feature works,
The
difference between personal loan and overdrafts is – personal loans, loans can
be provided upto 20 times more than the monthly income and also takes a long
time to approve by the manager for personal loan. Whereas, in Overdraft, the
loan amount is twice the monthly income and takes hardly a day to be approved
by the manager. For ex, if a customer of Citibank wants a overdraft loan of Rs
20,000 over his monthly income of Rs 10,000. The manager approves the loan. Let
us say that the interest rate is 2% and the activation fee for the first time
is Rs 250. When the customer repays the loan at the end of the month, then the
total amount he pays is – 20,000 + (2% of 20,000) + Activation fee ( 250 ) =
20,000 + 400 + 250 = 20,650Rs.
Now,
for the 2nd time if the same customer wants another overdraft loan –
then no activation fee is taken. Now the customer applies for another overdraft
loan of Rs20,000. This time the amount he has to repay is – 20,000 + ( 2% of
20,000 ) = 20,400Rs.
The development team develops the software which looks
something like this
The development team develops the
required software as shown above. The first figure represents the software that
can be accessed by the manager only. The 2nd figure represents the
software that can be accessed by the bank’s customers.
Let us consider system testing now.
We test for interest calculation when the customer takes overdrafts for the 1st
time and when he takes overdrafts for the 2nd time.
Scenario
1
1) Login as A – Apply for OD Rs
20000 – Click on Apply – Logout
2) Login as manager – Approve OD of
A – Logout
3) Login as A – Check OD Balance –
Rs 20000 should be deposited – Logout
4) Change the server date to next
30days
5) Login as A – Check OD Balance –
20000 + 400 + 250 = 20650 – Logout
6) Login as manager – click on
Deposit – Deposit Rs 650 – Logout
7) Login as A – Repay OD amount –
Check OD balance – Rs 0
8) Login as manager – Click on
Deposit – Deposit Rs 20000 to A’s account - logout
9) Login as A – Apply for OD Rs
20000 – Click on Apply – Logout
10) Login as manager – Approve OD of
A – Logout
11) Login as A – Check OD Balance –
Rs 20000 should be deposited – Logout
12) Change the server date to next
30days
13) Login as A – Check OD Balance –
20000 + 400 = 20400 – Logout
14) Login as manager – Deposit 400 –
logout
15) Login as A – repay OD amount –
Check OD balance – Rs 0
Scenario
2 – now we test
another scenario where in – let us consider that the bank gives an offer that
states that – a customer who takes Rs 50000 as OD for the first time will not
be charged activation fee and activation fee will not be refunded when he takes
another OD for the 3rd time – we have to test for 3test scenarios –
wherein we have to take OD of Rs 50000 for the first time and check for OD
Repay Balance after applying for another OD for 3rd time.
Scenario
3 – now we take in
other scenario – let us consider that the software is being used normally by
all customers – suddenly Citibank decides to lower the Activation fee to Rs 125
for new customers – we have to test OD for new customers and see if its
accepting only Rs 125.
But, then we get a requirement
conflict – Suppose the customer has applied for Rs 20000 as OD with the
existing Activation Fee for Rs 250. Before the manager is yet to approve it,
the bank lowers the activation fee to Rs 125. Now we have to test what
Activation Fee is charged for the OD of the Pending customer – In this case,
the testing team cannot assume anything – they have to contact the Business
Analyst or the Client and find out what they want in such a case.
Thus, if they (Client) give 1 set of
requirement, we must come up with maximum possible scenarios.
Let us consider another example – insurance domain
When we buy a car, we have to obtain
an insurance on that. Let us consider that Bajaj Allianz Insurance company is
the one which provides this car insurance. The insurance policy works in this
way – for the 1st year when the car is bought, the insurance to be
paid is Rs10000. For the 2nd year, the insurance must be renewed at
Rs10000 again. For the 3rd year, if no claim has been made, then that
customer is offered a discount of Rs1500 and the he must have to renew the
insurance at Rs8500 only. If an insurance claim has been made, then the
insurance must be renewed at Rs10000 only. Bajaj Allianz Insurance wants the
s/w to be developed which works as above. Thus it gives Wipro the CRS of above,
to develop the s/w.
The development team develops the
s/w as shown below,
The above s/w works in this way.
When the insurance agent logs in to the home page, he clicks on New Insurance
and creates a new insurance policy for the new customer and fills up all the
details and the new customer is assigned a IID (Insurance ID) 100. He then pays
the insurance amount Rs10,000. After 1year, when the time has come for renewal,
then the agent logs in and clicks on Renew Insurance and enters the IID and
renews insurance for Rs 10,000. The different test scenarios for the above are,
Scenario 1 :
1) Login as Agent – click on New
Insurance – Create IID 100 and Amount Rs10000
2) Change server date by 1year
3) Login as agent – Click on Renew
Insurance – and pay amount Rs 10,000
4) Change server date to 1year
5) Login as Agent – Renew Insurance –
IID 100 – Insurance Amount must be Rs 8500 since no claim has been made – thus
the test is pass
Scenario 2 :
Same as 1) , 2) , 3)
4) Before you renew for the 3rd
year, Claim Insurance – Change server date to 1year
5) Login as Agent – Renew IID 100 – Rs
10000 – No discount should be made because of the claim made above.
Scenario 3 :
Same as 1), 2), 3) and
4) of 1st scenario
5) Before you renew 3rd
time, - Click on Claim IID 100 , Rs 15,000 – Try to claim the amount – We
shouldn’t be able to claim this because the insurance has expired.
Let
us consider another example –
Advertisements on the Internet
When
we open a website, say www.yahoo.com
, we see an ad
posted on the above – top of the homepage – it remains there for a few seconds
before it disappears – this management of ads is done by something known as AMS
– Advertisement Management System. Now we do s/w testing for this domain.
The below s/w works in the following
way – let’s say that Nokia wants to showcase an ad on Feb 14th at
exactly 9:00AM on Yahoomail’s homepage for the whole of Asia
region. The sales manager logs into the website and makes a request for an ad
dated for the above day. He attaches a file ( preferably a video or image file
of the Ad ) and submits the application. The following day AMS manager
(Advertisement Management System ) of Yahoomail logs on and checks the pending
ad requests. He checks the Nokia ad and checks if the space is available for
the concerned day and time. If yes, then he estimates the cost of putting up
the ad – at 10$ per second, the ad cost estimates upto 100$ for 10seconds. He
then clicks on payment request and sends the estimate cost along with the
request for payment to the Nokia manager. The Nokia manager logs onto Ad status
– and checks the payment request and he makes the payment as per all the
details and clicks on Submit and Pay. As soon as Yahoo’s AMS manager receives
the payment, he deploys the Ad at the concerned date and time on Yahoomail’s
Homepage.