? QA Design Gurus: sbehera
Showing posts with label sbehera. Show all posts
Showing posts with label sbehera. Show all posts

Mar 28, 2016

SSL testing with OE DataServers


SSL Testing:
The Secure Sockets Layer (SSL) is a computer networking protocol that manages server authentication, client authentication and encrypted communication between servers and clients.

SSL-enabled DataServer operation:
With this feature DataServer components get the option of configuring DataServer client and server instance to require Secure Sockets Layer (SSL) client connections in remote DataServer configurations. User can maintain both SSL-enabled and non-SSL Transaction Server instances, but a given instance supports only one type of connection, either secure or non-secure.

To connect to an SSL-enabled OE DataServer component, Client and Servers must have access to a digital (public key) certificate (often called a CA Root Certificate) that can authenticate with the digital certificate used by the server, and the client must be configured to send SSL requests.

Distributed DataServer Configuration with ssl:
Dtaserver can connect to remote server using any of the below broker-

  • DataServer applications using ProBroker
 OpenEdge client runs on a client machine (either in Windows or on UNIX) and can access a remote Windows/Unix server. Multiple brokers can be running simultaneously on one server machine. The client connects initially to the ProBroker executable by locating the host and port of the executing broker. It is then automatically reconnected to a DataServer established for it by the broker. Each executing broker can spawn a multitude of DataServer processes.
  • DataServer applications using the Unified Broker
When using the Unified Broker framework, user needs to configure the DataServer by editing ubroker.properties file. This file stores configuration definitions for instances of many OpenEdge products.

When you use this file to configure the DataServers, you provide information that enables the host to start a broker that spawns the appropriate DataServer process (_msssrv.exe/_orasrv.exe). Each configuration definition contains the environment variable and property settings for a broker instance. The command-line utilities use this file to store, validate, and manage the configurations for these brokers. A single copy of this file maintains all supported broker configurations for each OpenEdge installation. The ubroker.properties file is read on startup of the AdminService process.

To perform these configuration tasks, you can use OpenEdge Management/ OpenEdge Explorer or manually edit the ubroker.properties file.

 Sections of ubroker.properties file:

Section
Description
UBroker.MS / UBroker.OR
Parent Group
The parent entity of DataServer for MSS/ Oracle brokers. It defines default property settings for all of these broker instances.
UBroker.MS.mssbroker1 /
UBroker.OR.orabroker1
Derived Property
A sample property entity of a DataServer for MSS/Oracle broker instance. It defines default property settings for the broker instance named mssbroker1/orabroker1
Environment.mssbroker1 /
Environment.orabroker1
A sample environment entity of DataServer broker instance. It defines environment variable settings that apply to the broker instance named mssbroker1 / orabroker1.
  • DataServer applications using the Appserver Broker
It is similar to unified broker configuration but instaed of unified broker we'll use appserver broker.  



Steps to test datserver connection in ssl mode-


  • Start the db in mutiuser mode: proserve <shema holder name> -S <service name or port number> -ssl
  • for mss dataserver: Connect the schema holder and logical db: prowin32 -1 <schema holder name> -S <service name or port number> -ssl -db <dsn name> -ld <logical db name> -dt MSS -U <user id> -P <password>  -S <broker service name> -ssl
  • for oracle dataserver: Connect the schema holder and logical db: prowin32 -1 <schema holder name> -S <service name or port number> -ssl -db <logical db name> -ld <logical db name> -dt Oracle -U <user id> -P <password>  -S <broker service name> -ssl

Mar 14, 2016

Automation of test for driver specific test in OE dataserver

In OE dataserver, we connect to MS sql server by using DSN of particular odbc driver. Some features are also supported with specific driver. If you want to run specific test only for a particular odbc driver then you can conditionalize the script as per your requirement.

If you want to conditionalize your test script for particular drive then you can query for driver details from schema holder  using below ABL-
for each _db:
display _Db-misc2[1].
         for e.g. p2sqls27.dll
It will return the driver dll name by using which you can know whether it is a SNAC, SQL or native driver.

Same way if you want to know the driver version you can use below ABL-
for each _db:
display _Db-misc2[2].
        for e.g.  0.7.15.0254 (B0248, U0172)

To get the odb_ctl.i number value for specfic driver use below ABL-
for each _db:
display _Db-misc2[4].
       for e.g. 11,13,14,20,23,33,36,39,

Dec 15, 2015

Localization testing by changing your system locale

Localization: It is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text.





Things to take care during installation while testing openedge with non-english environment

OpenEdge by default allows user to install OpenEdge in 14 different languages. Here is the list below-


Czech(VZE)
Polish(POL)
Dutch(Dut)
Portuguese(POR)
English-American(AME)
Portuguese-Brazilian(BRZ)
English-International(Eng)
Spanish(SPA)
French(FRE)
Spanish-Latin American(SPL)
German(GER)
Swedish(SWE)
Italian(ITA)
Chinese-Simplified(SCH)


Apart from these 14 languages it also supports other supplement languages as well. Here is the list of 22 supplement languages below-


Arabic
Croatian
Chinese (traditional)
Danish
Hebrew
Finnish
Japanese
Greek
Korean
Hungarian
Persian
Icelandic
Serbian
Lithuanian
Thai
Norwegian
Turkish
Slovak
Slovenian
Spanish - Mexican
Romanian
Russian



How to test your internationalization configuration using ABL?

OpenEdge database support internationalization . It means you can build application for non-english language/region and perform required operations. While working with non-english languages, you need to  use appropriate language setting to perform the operation and do the character processing correctly.

You can use ABL query to test the setting from your client. Here is the ABL query below- 

MESSAGE   
"Database    = " DBCODEPAGE(1)      SKIP   
"Collation   = " DBCOLLATION(1)     SKIP   
"-cpinternal = " SESSION:CPINTERNAL SKIP   
"-cpstream   = " SESSION:CPSTREAM   SKIP   
"-cpcoll     = " SESSION:CPCOLL     SKIP   
VIEW-AS ALERT-BOX.




Sep 30, 2015

Test and verify your testdb details stored in sytem tables

You can find your test tables created using your test suite with the area name assigned to them using below ABL-


for each _Area, each _Storageobject
 where (_Storageobject._Area-number = _Area._Area-number),
 each _File
 where (_File._File-Number = _Storageobject._Object-number)
 and (_File._File-Number > 0)
 and (_StorageObject._Object-type eq 1)
 break by _File._File-name:
 display _File._File-name label "Table name" _Area._Area-name .
end. 


You can add a reference file for verification of table names and area name in your test as well.

Test webspeed using wsisa.dll in OpenEdge

It consists of two steps-
1) configuration 2) Testing

Configuration:
Here is the steps to configure webspeed in windows 7 or higher machine-

1. Type the below command in your cmd prompt which would install IIS current version.

start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn;IIS-FTPPublishingService;IIS-FTPServer;IIS-FTPManagement;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

Sep 9, 2015

Install service packs and main release on same windows machine for OE

This is a small trick to keep both service pack and main release of OE on windows machines. Most of the time when we file a bug we re-verify the scenario with lower OE version or main release or service pack. There are so many scenarios like that. We can have all the service packs including the main release on a single windows machine with a little effort by modifying  registry(regedit). But we can use only one version at a time. We need to just import the necessary registry values. It will be helpful to have all installation to quickly test and revert back on critical issues and customer issues.


Here are the step:

  •  Install 115 @ C:\115\dlc
  •  Export Registry (HKEY_CURRENT_USER\Software\PSC\PROGRESS\11.5) as 11.5.reg
  •  Delete Registry (HKEY_CURRENT_USER\Software\PSC\PROGRESS\11.5)
  •  Install 11.5.1 @ C:\11501\dlc
  •  Export Registry (HKEY_CURRENT_USER\Software\PSC\PROGRESS\11.5) as 11.5.1.reg
  •  Delete Registry (HKEY_CURRENT_USER\Software\PSC\PROGRESS\11.5)
  • Double click the version you want to use

7



How to overcome error 12371 for your testing with Openedge?

While working with huge data using OE db you might face error 12371-

Attempt to update data exceeding <number>. (12371)

You have updated either a program variable or a record in such a way as to exceed the maximum size of a record.

Instead of populating the data directly-

It is good to retrieve the data and put it in longchar. 
Filter the data as per your requirement .
Then populate the result.

You can modify your test as mentioned above and change the reference file accordingly.

Aug 31, 2015

OE DataServer testing with Oracle db with required previleges

You need to have below permissions for your oracle user to use all the functionality of OpenEdge DataServer for Oracle-


You may face permission issue or unexpected result while testing OE dataserver with oracle, if you miss any of the privileges mentioned above. 

Points to consider while developing or running your test using Cygwin



  • Cygwin is a free software but for MKS you need to buy the license.     
  • Cygwin uses /dev/null and MKS uses nul.
  • Cygwin follows Unix convention including line endings.
  • UNAME returns Windows_NT in case of MKS but CYGWIN returns  CYGWIN_NT-6.1-WOW.
  • UMASK: MKS seems to have problems with file/directory permissions, usually leaving permissions wide open or ill-defined. In case of CYGWIN it is much better.
  • Administrator: MKS has had some problems being used by anyone other than the one who installed it, I'm not sure what this problem is. CYGWIN may or may not have this problem.
  • Cygwin follows the POSIX standards. This means that paths are /cygdrive/c/. MKS PATH is the same as Windows PATH, using the ';' path separator character, and must be quoted if it has any embedded spaces. It can contain a mix of \\ and / file separator characters apparently.
  • ENVIRONMENT VARIABLES: It appears that CYGWIN inherits Windows system variables with their names mapped to all uppercase, so things like windir, SystemDrive, SystemRoot, and MSDEVDIR, turn into WINDIR, SYSTEMDRIVE, SYSTEMROOT. The MKS shells don't have this behavior.

Aug 17, 2015

Test your code without disturb by other user by putting message on login screen of your test machine

If you want to perform some testing without any bodies interference in your test machine which has multiple user access, then you can configure your test machine by user-defined message to the login screen of your test machine.
We can do it easily by doing some registry changes.
Editing the registry
It is important to keep in mind that the registry is vital to the operating system and changing it can be dangerous if you inadvertently make a mistake. Do it if you really need it.
To launch the Registry Editor, click the Start button, type regedit in the Start Search box, and press [Enter]. When the UAC dialog box appears, respond appropriately.

Aug 7, 2015

Test your client code page for Internationalization testing


You can test your client code page using ABL query from your procedure editor for openedge.

You just need to connect to your database as below-

prowin32 -1 <db name>

When the procedure editor will open, write down the below ABL query-


MESSAGE SESSION:STARTUP-PARAMETERS VIEW-AS ALERT-BOX.




Jul 31, 2015

Test your ABL code without warning messages

You can execute your ABL code without warning message while you are connected to the db in read-only mode.

User can avoid the warning message by truncating the before image files for skipping the warning message before it start the client.



We can supress the warning message by using below steps-

steps:
             1)      proutil  “dbname” –C truncate
             2)      prowin32 “dbname” –RO  -p <pcodefile name>   

You can also avoid the warning message in your test result file.

Jun 29, 2015

Internationalization Startup Parameters of OpenEdge Database

Here is the list of useful OpenEdge startup parameters  below-

Conversion Map:

-convmap <filepath>
Pathname of the CONVMAP file.

Use -convmap to identify the CONVMAP file to use for code page conversions, collation orders, and case conversions. By default, Progress uses the convmap.cp file in the DLC directory.

Case Table:

-cpcase <case table name>
Name of a case table in the convmap.cp file and for the
current -cpinternal codepage.

Use -cpcase to specify the case table. This table establishes case rules. The case rules are used by the caps and lower case functions. In a character field format, use an exclamation point (!) to tell Progress to convert all characters to uppercase during input. To retrieve the value of this startup parameter at runtime, use:

SESSION:CPCASE.

Collation Table:

-cpcoll <collation table name>
Name of a collation table within the convmap.cp file and for the current -cpinternal code page.

Use -cpcoll to identify a collation table for Progress to use. Progress uses collation rules to compare characters and sort records if a by clause cannot be satisfied by an index. To retrieve the value of this startup parameter at runtime, use:

SESSION:CPCOLL.

Apr 28, 2015

Localization & Internationalization Testing

What is Localization?
Localization refers to the adaptation of a product, application or document content to meet the language, cultural and other requirements of a specific target market (a locale).
Localization is sometimes written as L10N, where 10 is the number of characters between 'l' and 'n'

What is Localization Testing?
Localization testing is testing process to validate whether application is capable enough for using in a particular location or country. 

It can be related to:
Numeric, date and time formats
Use of currency
Keyboard usage
Collation and sorting
Symbols, icons and colors
Text and graphics containing references to objects

Apr 7, 2015

Art of writing a good bug report

Why good bug report?
One of the important deliverable in software testing is bug report. Writing a good bug report is an important skill of a software tester. If your bug report is effective, chances are higher that it won't be ignored by the product owner and developer. So fixing a bug depends on how effectively you report it.

What are the qualities of a good software bug report?
A bug report should have the following:

A clear title:
A good title helps reduce duplicate issues and accurately summarize the issue.
Include the specific name of the components involved in your bug in the title.

Steps to reproduce:
You should clearly mention the steps to reproduce for the bug. It should contain all the details of components involved with environment details.
It should contain information as below-
Product: In which product you found this bug.
Component: These are the major sub modules of the product.
Version: The product version.
Platform: Mention the hardware platform where you found this bug.
Operating system: Mention all operating systems where you found the bug.
Priority:When bug should be fixed? Priority tells the importance of the bug.
Severity:This describes the impact of the bug.
Summary:This portion contains a brief summary of the bug. Make sure your summary is reflecting what the problem is and where it is.

Mar 25, 2015

Tuning tips of ATM Performance Testing Suite for OpenEdge DataServer

Introduction

Performance testing is used to determine the speed or effectiveness of a computer, network, product or device. This process can involve quantitative tests done in a lab under ideal conditions, such as measuring the response time or measuring the Transactions per second (TPS) in database at which a system functions.

The ATM benchmark has served as a database performance evaluation tool for many years. ATM application is modified according to DataServer. We are running ATM for Oracle and MSS DataServer  

Database Parameters

Server side Parameters

This should be a test of the database engine, so bottlenecks involving disk I/O, shared memory, and the BI need to be eliminated.  For each machine we assessed the amount of free memory available, and the amount of disk space available.  The following guidelines were used:

Load the entire database into shared memory.  If this is not initially possible, change the SCALE of the database to a smaller number so that the database can totally reside in shared memory.