Wednesday, February 29, 2012

Testing SOA Applications

Service-Oriented Architecture (SOA) is a set of principles and methodologies for designing and developing software in the form of interoperable services.
Service-oriented architecture is a business-centric IT architectural approach that supports integrating your business as linked, repeatable business tasks, or services. SOA applications are built by assembling standardized components (services) that are reused and combined to address changing business goals and priorities.

Testing of SOA application requires defined approach to ensure business benefits of software solutions are achieved.
It is different from traditional projects as SOA projects involves integration between various distributed systems.This distributed nature of SOA projects throws challenge for testing as the requirements for each individual system and the entire application as a whole needs to be understood properly and the coordination between the various testing teams needs to be managed.Traditional testing methodologies can be applied with agile nature keeping in view of the iterative nature of SOA projects.

Areas to address the need of testing SOA applications:

1. Functionality testing
2. Backward compatibility
3. Test services exposed by applications and IT components
4. Interoperability and Compliance testing
5. Security testing
6. Performance testing

The key to SOA quality is also to involve business analysts, executives and architects as an integral part of regular quality audits, in addition to QA engineers to test above areas.


Please feel free to post queries or share your views related to above.

Thanks,
Rohit Singh
www.360logica.com

Tuesday, January 17, 2012

Cloud Computing and Testing Cloud based Applications

Cloud Computing is all about running your application in shared data centre. Cloud of online resources... comprises of SAAS, Platform as a service (PAAS), Infrastructure as a service (IAAS), Centralisation of data, applications and processing power.

Testing cloud based applications include three major scenarios :

1) Area of application is migrating into the cloud,

2) Application has been completely migrated onto the cloud

3) Application is completely built on the cloud itself


The testing methodology has to evolve in all these scenarios and would need to take into account the virtualized infrastructure, network, application business logic, data and end-user experience. Testing cloud based applications requires business workflow testing, exceptions mechanisms, simulating failure scenarios and disaster recovery scenarios.

The focus of testing cloud based applications needs to include validating the accuracy of cloud attributes like multi-tenancy, elasticity, security, availability, interoperability and metering in multi-instance loaded environment.

Testing "Cloud" applications should be tested as though you would test any existing web application with a few added test cases to test the additional "Cloud" features depending on your application e.g.

Dynamic scaling - You would want to test that the application can dynamically scale up and down, with no loss of data and end user connectivity.

Automated provisioning - For apps that provision new services automatically when a new user signs up, you would want to test this process, as well as the reverse when a user leaves the service.

Device Synchronisation - If the service is like Dropbox, or iCloud, then there may be device to device synchronisation issues that need to be tested, particularly recovery situations when a sync is disrupted and incomplete and needs to be restarted.


Cloud computing has made available two very useful technologies to the masses

1.Distributed computing

2.Virtualization

This creates new opportunities for testers to test quickly and efficiently. The challenges would be test around the edges of these services. Some of things to look are:

1.Elastic clouds (automatic provisioning of computing power and memory)

2.Disaster recovery

3.Reliability

4.Synchronization (across devices and services)

5.Security


There is no direct or ideal approach for cloud testing. To ensure complete testing, various factors like the cloud architecture design, non-functional and compliance requirements, etc. should to be taken care.


Please feel free to post queries or share your views related to above.

Thanks,
Rohit Singh
www.360logica.com

Monday, October 31, 2011

Sikuli

How to take clip of application Using Sikuli:

1. Go to start>all program>sikuli you should see following window.



2. Open application in any browser then goto sikuli window




3. Select desire location and then release mouse.

4. You should now see below window.

5. Click on recorded image on sikuli Id rename and go to default directory where image save.

As E:\User\AppData\Temp-844679859.sikuli folder
Copy image and save it in your project directory “image-sikuli” folder




Sample example of sikuli scripts

import sys
import unittest
from sikuli.Sikuli import *
from vyewTestUtilities import *

###############################################################################
class TestFooERRORFF(unittest.TestCase):
browser = "ff"
account = "acct1"

def setUp(self):

App.open("E:\\Program Files\\Mozilla Firefox\\firefox.exe") #Browser path from your directory
s.wait(3)
s.type("t",KEY_CTRL)
s.wait(2)

def tearDown(self):
browser_name = "Mozilla Firefox"
App.close(browser_name) #ugly shutdown if stuck

def test(self):
s = Screen(0)
logInFromLoginPage(self.browser, self.account)
if s.exists("Close_started.png"):
s.click("Close_started.png")
s.wait(5)
s.click("CreateNewRoom.png")
s.wait(5)
s.wait("Close_popup.png", 60)
s.click("Close_popup.png")
s.click("invite_people.png")
s.wait(5)
s.click("InvitePeople.png")
s.wait(5)
s.type("click_to.png","test360.51@gmail.com")
s.wait(5)
s.type(Key.TAB)
s.type(Key.TAB)
s.type("test invitation")
s.wait(5)
s.click("check_box_conference.png")
s.click("check_box_conference.png")
s.wait(5)
s.click("NextConference.png")
s.wait(5)
s.click("NextConference.png")
s.wait(5)
s.click("Finishconference.png")
s.wait(5)
s.click("Close.png")
Note: above is simple example of sikuli. But if you need to run this example fist yo need to put all imaged in your image-sikuli folder.

How Run sikuli Scripts:
Right click on your script > select run as > jython unit-test as below.



Please feel free to share your views and let us if you have any questions for us.

Thanks,
Rohit Singh
www.360logica.com