Monday, May 12, 2014

Complete testing of log in , Big picture !

Cracking an interview is not a Rocket Science to be frank , but yes for some it could be :D

Lets talk in general , what is the expectation of an interviewer from an interviewee. Interviewer just want the best answer which is unique and different from the rest of the world. Err...What does that mean ?

For each answer there should be an approach which a tester should mention while answering any question. And that is Always Start With Positive approach .!! Be it writing test cases , or reading requirements , executing test cases , thinking of a scenario in testing ,etc

Lets discuss how can we take an approach of writing test cases with an example which is asked in almost all QA - interviews.

How to design test cases for Log-in functionality..?
This is easy .. no ?
Lets try to think in a broader and better way.
Start with open questions :

  1. Why , on earth , user needs to Log into any system ?
  2. Why he would go for log in if:.. he is new to web ?
  3. What he will miss if he does not log into the system ?
  4. Why log is required to anyone ?
  5. What all process he has to go through if he opts for logging in?
  6. What is the process to log into system?
  7. What all credentials are required to get into the system ?
  8. What all basic information check is required to authenticate a user?
Now go more into depth and think more about the architecture as in how MVC will work in this case as Log in is all- web based and service oriented process. So try applying Service Oriented Architecture Concepts:
  1. How service oriented tests can be applied on log in.
  2. How session will be maintained when user log into system.
  3. How session will be maintained when user log out from system.
  4. How session will be maintained when user switch logging in and out from system.
  5. How system will behave when user opens a new tab , after logging into the system.
  6. What kind of response is expected when submit button is hit by system.
What all testing approach you can apply, try thinking as much as you can and categorize your test cases:
Boundary values:
  1. Check length of user name
  2. Check length of password

Equivalent partition
Create a group of test cases including positive cases
  • Enter the correct user-id and password and click on submit button
  • It should display welcome page
and negative cases:
  • Enter the correct user-id and wrong password and click on Submit button
  • It should display error
  • Enter the wrong user-id and correct password and click on Submit button
  • It should display error


Compatibility Testing
  • Check application should work on different Operating systems.
  • Check application should work on different browsers.

Comparison Testing
  • Check application should work on different resolutions.

Usability Testing
  • Check the auto focus of mouse
  • Mouse auto focus should be at UserId
  • Check the password with Lower case and upper case
  • Password should be case sensitive
  • Check the auto focus of mouse
  • Mouse auto focus should be at UserId
Security Testing
  • After login with valid credentials, click on back button
  • The page should be expired
  • After login with valid credentials copy the url and paste in another browser
  • It should not display the user's welcome page
  • Check the password with Lower case and upper case
  • Password should be case sensitive
And others could be :

  • Integration Testing
  • Functional Testing
  • End-to-end Testing
  • Performance Testing
  • Unit testing

There is still lot to test , and testing is a never ending process. So , all I can say Think more , Think Big ,Think Better !!

Thursday, May 8, 2014

Oracle SOA : java.lang.NoClassDefFoundError: Could not initialize class org.apache.myfaces.trinidadinternal.convert.ColorConverter

In Oracle SOA 11g (11.1.1.7.0) when you try to access the oracle worklist application or custom created worklist application to access the Human workflow tasks you get the following error:

java.lang.NoClassDefFoundError: Could not initialize class org.apache.myfaces.trinidadinternal.convert.ColorConverter
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
Truncated. see log file for complete stacktrace

java.lang.UnsatisfiedLinkError: Can't load library: /app1/oracle/middleware/Oracle_SOA1/soa/thirdparty/edifecs/XEngine/bin/headless/libmawt.so
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1706)
at java.lang.Runtime.load0(Runtime.java:770)
at java.lang.System.load(System.java:1003)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
Truncated. see log file for complete stacktrace

This is due to the missing "libmawt.so" in /soa/app/Oracle/product/fmw/Oracle_SOA1/soa/thirdparty/edifecs/XEngine/bin/headless

Solution:

Copy the libmawt.so library file from the JRockit installation directory (normally found in /lib/headless/) to the following directory:
%Middleware_HOME%/Oracle_SOA1/soa/thirdparty/edifecs/XEngine/bin/headless/

Note: Please refer document (Doc ID 1633015.1) on oracle support for further information.

Monday, May 5, 2014

Oracle SAP Adapter : ERROR com.ibi.bse.ConfigWorker:java.lang.NoClassDefFoundError: oracle/tip/adapter/api/exception/PCResourceException

I was working on a SAP integration with Oracle SOA Suite, configuring the Oracle Application Adapter for SOA. Then after starting the ae.cmd ( E:\Oracle\Middleware\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\tools\iwae\bin\ae.cmd ) I am getting the following exception:

ERROR com.ibi.bse.ConfigWorker:java.lang.NoClassDefFoundError: oracle/tip/adapter/api/exception/PCResourceException

This is due to the missing libraries i.e jca-binding-api.jar and adapter_xbeans.jar

Solution:

  1. Copy the missing libraries i.e. jca-binding-api.jar and adapter_xbeans.jar from the location "E:\Oracle\Middleware\Oracle_SOA1\soa\modules\oracle.soa.adapter_11.1.1"
  2. Paste the copied files into the folder i.e. "E:\Oracle\Middleware\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\lib"