Labels

Sunday, April 28, 2013

"Compile error in hidden module: mdlGlobal" while opening installed HP ALM Excel Addins

Follow below steps

1) Uninstall the existing excel add-in with admin rights and restart your system
2) install it again with admin privilege (it is very important to install the add-in with admin rights. It is even mentioned in excel add-in installation guide provided by HP)
3) Now open IE (32 bit) with admin rights
4) go to QC add-ins page and register "HP ALM Client Registration" component (register it also with admin rights) OR you can directly go to link
http://<servername>/qcbin/start_a.jsp?common=true
and install component

After that hope this issue will be resolved.Please follow all the steps mentioned in sequence above and don't leave or ignore any step (like restarting the system)

Sunday, April 21, 2013

How to search a test by Run Name in QC 10?

Answer: From the RUN table you can retrieve the TestCycleID (TestInstanceID), the CycleID(TestSetID) and also the TestID(Test of TestPlan ID). So you can get all you want.

Something like this:

SELECT TS_NAME FROM TEST t, RUN r
where t.TS_TEST_ID = r.RN_TEST_ID and r.RN_RUN_NAME LIKE 'Run_xxxxx'

Tuesday, April 16, 2013

Easy Understanding of OOPs concepts



There are many terms in Object Oriented programing , together these terms are called as OOP s concepts . These OOP s concepts are used in all modern programming languages like Java , J2EE,C++ , C#, .Net , Python and Javascript .Lets us begin with these OOPs concepts.
Class 
Class is the 1st OOPs concept .Class defines the characteristics of objects which includes its attributes , fields  properties and behavior . Let us say we have a class called car , then the color , model number , top speed can be its attributes and properties . Accelerating , breaking , turning will be its behavior .
Objects 
Objects can be considered as a thing  that performs a set of related functions .Programming objects are used to model real worlds objects. An object is also an instant of a class . For our class Car , Ferrari  will be our object
Instance 
One can have an instance of a class; the instance is the actual object created at runtime.  The set of values of the attributes of a particular object is called its state. The object consists of state and the behaviour that’s defined in the object’s class.


Method
Also called as  functions in some programming languages , methods defines the  behavior of particular objects . For our Car class , turning() , breaking ()  will be our methods .
Inheritance
In the real world there are many objects that can be specialized. In OOP, a parent class can inherit its behavior and state to children classes. This concept was developed to manage generalization and specialization in OOP .Lets say we have a class called Car and Racing Car . Then the attributes like engine no. , color of the Class car can be inherited by the class Racing Car . The class Car will be Parent class , and the class Racing Car will be the derived class or child class
The following OO terms are commonly used names given to parent and child classes in OOP:
Superclass: Parent class.
Subclass: Child class.
Base class: Parent class.
Derived class: Child class
Abstraction 
Abstraction is simplifying complex reality by modeling classes appropriate to the problem . In other words it means representing only the important details without including all the details . For example the car Ferrari can be treated as simple car only .
Encapsulation
The wrapping up of data and functions into a single unit is called as encapsulation . For example the class car has a method turn ()  .The code for the turn() defines how the turn will occur . So we don’t need  to define how Mercedes will turn and how the Ferrari will turn separately . turn() can be encapsulated with both.
Polymorphism
Its an important OOPs concept , Polymorphism means taking more than one forms .Polymorphism allows the programmer to treat derived class members just like their parent class’s members. More precisely, Polymorphism in object-oriented programming is the ability of objects belonging to different data types to respond to calls of methods of the same name .If a Dog is commanded to speak(), this may elicit a bark(). However, if a Pig is commanded to speak(), this may elicit an oink(). Each subclass overrides the speak() method inherited from the parent class Animal.


JAVA OOPS explain with real time examples

OOPS Concepts are mainly 4
1.Abstraction
2.Encapsulation
3.Inheritance
4.Polymorphisam
Abstraction:-Hidding non-essential features and showing the
essential features

(or)
Hidding unnecessary data from the users details,is called
abstraction.
Real Time example:TV Remote Button

in that number format and power buttons and other buttons
there.just we are seeing the butttons,we don't see the
button circuits.i.e buttons circutes and wirings all are
hidden.so i think its good example.

Encapsulation:

Writing Operations and methods stored in a single
class.This is Called Encapsulation

Real Time Example:Medical Capsuals
i.e one drug is stored in buttom layer and another drug is
stored in Upper layer these two layers are combined in
single capsual.

Inheritance:
The New Class is Existing from Old Class,i.e SubClass is
Existing from Super Class.

Real Time Example:
Father and Son Relationship

Polymorphisam:

Sinle Form behaving diffreantly in diffreant
Situations.
Example:-
Person
Person in Home act is husband/son,
in Office acts Employer.
in Public Good Cityzen.



Thursday, April 11, 2013

How to customize auto email when test script status changes.

Place below code in the Test Plan Module and call  'Test_FieldChange' function in 'Test_MoveTo'

Sub Test_FieldChange(FieldName)
On Error Resume Next
Dim strSubject, strComment
If FieldName = "TS_STATUS" Then
strSubject = "Test Change Notification" & _
" for project " & TDConnection.ProjectName & _
" in domain " & TDConnection.DomainName
strComment = "The user " & User.FullName & _
" changed the status of the test " & _
Test_Fields("TS_NAME").Value & _
" to " & Test_Fields("TS_STATUS").Value
SendTest Test_Fields("TS_TEST_ID").Value, _
Test_Fields("TS_RESPONSIBLE").Value, "[QA Testers]", _
strSubject, StrComment
End If
End Sub

Sub SendTest (iObjectId, strTo, strCc, strSubject, strComment)
On Error Resume Next
Dim objTestFactory, objTest
Set objTestFactory = TDConnection.TestFactory
Set objTest = objTestFactory.Item(iObjectId)
objTest.Mail strTo, strCc, 2, strSubject, strComment
Set objTest = Nothing
Set objTestFactory = Nothing
PrintError "SendTest"
On Error GoTo 0
End Sub

How to know what test scripts are assigned to Tester for execution.

Below is the query to pull the test scripts which are assigned to Testers for execution:

SELECT FOLD1.CF_ITEM_NAME AS Folder_Name, Substr(FOLD10.CF_ITEM_NAME||'\'||FOLD9.CF_ITEM_NAME||'\'||FOLD8.CF_ITEM_NAME||'\'||FOLD7.CF_ITEM_NAME||'\'||FOLD6.CF_ITEM_NAME||'\'||FOLD5.CF_ITEM_NAME ||'\'||FOLD4.CF_ITEM_NAME
||'\'||FOLD3.CF_ITEM_NAME||'\'||FOLD2.CF_ITEM_NAME,12-length(fold1.cf_item_path)/3)||'\'||FOLD1.CF_ITEM_NAME AS FolderPath,
CYCLE.CY_CYCLE TestSet_Name,
TEST.TS_NAME TestScript_Name,
TESTCYCL.TC_STATUS LastExec_Status, TESTCYCL.TC_TESTER_NAME ResposibleTester
FROM   CYCL_FOLD FOLD1, CYCL_FOLD FOLD2, CYCL_FOLD FOLD3, CYCL_FOLD FOLD4, CYCL_FOLD FOLD5, CYCL_FOLD FOLD6, CYCL_FOLD FOLD7, CYCL_FOLD FOLD8,  CYCL_FOLD FOLD9, CYCL_FOLD FOLD10,CYCLE,TEST,TESTCYCL
WHERE  FOLD2.CF_ITEM_ID = FOLD1.CF_FATHER_ID
AND FOLD3.CF_ITEM_ID (+) = FOLD2.CF_FATHER_ID
AND FOLD4.CF_ITEM_ID (+) = FOLD3.CF_FATHER_ID
AND FOLD5.CF_ITEM_ID (+) = FOLD4.CF_FATHER_ID
AND FOLD6.CF_ITEM_ID (+) = FOLD5.CF_FATHER_ID
AND FOLD7.CF_ITEM_ID (+) = FOLD6.CF_FATHER_ID
AND FOLD8.CF_ITEM_ID (+) = FOLD7.CF_FATHER_ID
AND FOLD9.CF_ITEM_ID (+) = FOLD8.CF_FATHER_ID
AND FOLD10.CF_ITEM_ID (+) = FOLD9.CF_FATHER_ID
AND CYCLE.CY_FOLDER_ID   = FOLD1.CF_ITEM_ID
AND TESTCYCL.TC_CYCLE_ID = CYCLE.CY_CYCLE_ID
AND TEST.TS_TEST_ID      = TESTCYCL.TC_TEST_ID
AND (CYCLE.CY_FOLDER_ID in (SELECT B.CF_ITEM_ID FROM CYCL_FOLD A, CYCL_FOLD B Where A.CF_ITEM_ID in (folder id) and Instr(B.CF_ITEM_PATH, A.CF_ITEM_PATH)=1))     /* Enter value for Labfolderid CF_ITEM_ID*/

Wednesday, March 27, 2013

How to Increasing the heap size (virtual memory) for JBoss in Quality Center

For Windows, you can increase the heap size by uninstalling/reinstalling the Quality Center Service and modifying the InstallJbossService.bat file. For Linux/Unix, you need to modify the run.sh file.
Recommended heap sizes, depending on the number of concurrent user sessions:
Small: 128 - 256MB ~ Up to 10 concurrent user sessions

Medium: 256 - 512MB ~ Up to 100 concurrent user sessions

Large: 512 - 1024MB ~ Up to 250 concurrent user sessions

Very Large: 1024 - 2048MB ~ Up to 350 concurrent user sessions
Notes:

The max value cannot be more than your max RAM size.

On any Windows 32-bit installation you cannot set a heap size larger than 1024 MB of RAM.

Uninstall/Reinstall QC Service for Windows:
Note: Verify that users are not working on Quality Center and Quality Center Service is stopped. 1. Open Command Prompt and navigate to "<Drive Letter:>\program files\Mercury Interactive\Quality Center\jboss\bin" folder.
Note: For Quality Center 9.0 and 9.2 the path is "<Drive Letter:>\program files\Mercury\Quality Center\jboss\bin"
           For Quality Center 10 the path is "<Drive Letter:>\program files\HP\Quality Center\jboss\bin

2. Execute the following command (this will uninstall the existing service):
   InstallJbossService.bat -uninstall
3.Edit the InstallJbossService.bat file.
Example:
If the heap memory is currently:
   set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx512m
increase the heap size as follows:
   set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1024m
4. Save and close the InstallJbossService.bat.
5. Execute the following command (this will install the service with the modified heap size parameter):
   InstallJbossService.bat -c default (-help shows options)
6. Verify that the service has been installed, Control Panel -> Administrative Tools -> Services.
7. Start the Quality Center Service.
8. Check that the Quality Center Debug Console shows heap size that was specified as available memory:

For Quality Center 9.0 and 9.2:
   http://hostname:8080/qcbin/servlet/tdservlet?method=debuginfo
   http://hostname:8080/sabin/servlet/tdsiteadminservlet?method=debuginfo

For Quality Center 10:
   http://hostname:8080/qcbin/debug

Notes:

If you are using a cluster environment, the hostname should be the cluster machine name, and you will need to apply the above steps to each cluster.

Also edit the run.bat file to ensure it is synchronized with the way the QC service runs.

Add the following parameter in site administration's 'Site Configuration' tab to grant access to the debug info log:
     Name: DISABLE_CONSOLE_DEBUG_INFO
     Value: N Modify the run.bat file:
1. On the application server, locate the JBoss bin folder under your TD for QC installation. By default, the location is <System Drive:>\Program Files\Mercury Interactive\Quality Center\JBoss\bin. Note: For Quality Center 9.0 and 9.2 the path is <System Drive:>\Program Files\Mercury\Quality Center\JBoss\bin.
           For Quality Center 10 the path is <System Drive:>\Program Files\HP\Quality Center\JBoss\bin
2. Edit the run.bat file (or run.sh for Linux/Unix).
Example:
If the heap memory is currently:
   set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx512m
increase the heap size as follows:
   set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1024m
3. Save and close the run.bat.
4. Execute the run.sh file only for Linux/Unix.

Tuesday, March 12, 2013

step by step how to Configure Apache Webserver with Weblogic Server

Step 1) Make sure the Apache server runs on port 8080.( This is because sometimes IIS, or some antivirus s/w runs on that port).This can be done by modifying the httpd.conf present at
D:\Program Files\Apache Group\Apache2\conf
Modify the Listen port to 8080
Listen 8080
Step 2) Copy the mod_wl_20.so from <bea_home>\wlserver_10.3\server\plugin\win\32 to
D:\Program Files\Apache Group\Apache2\modules
Step 3) Add these lines in the httpd.conf file
LoadModule weblogic_module modules/mod_wl_20.so
<Location />
SetHandler weblogic-handler
</Location>
<IfModule mod_weblogic.c>
WebLogicCluster localhost:7003,localhost:7005
Debug ON
WLLogFile c:/temp/wlproxy.log
WLTempDir c:/temp
</IfModule>
Step 4) Restart Apache and access the application deployed on the Cluster using
http://localhost:8080/YourApp
This will forward the request to the Weblogic Cluster