Showing posts with label PEGA Automation. Show all posts
Showing posts with label PEGA Automation. Show all posts

Monday, October 30, 2017

Pega Automation approach using UFT

Hey folks,

I try here to give you reference for taking automation approach for PEGA automation projects. I have used UFT 12.02 for PEGA 7.2.2 version automation in one of my project. Following are checklist, which can help.

  1. As PEGA application is rule based and flow based application, there were always few set of pages will be used in application. Before deciding framework, dry run the whole application flow for the pages behavior.
  2. As pages, might be limited, we can use object repository approach for the application as size will not grow. For few PEGAcontrols, we need to write descriptive programming as well. Mostly frame related problems occurs for few control identification.
  3. As it is rule based application, may be require to run different set of test with combination of test data to test the rules, but pages remains same. So try use data driven approach while using framework. Keep all the functions generic so with any combination of test data, we can use same functions.
  4. As its having flow based application too, driver script should having provision to calling different functions in sequences to drive the flow. Write module based functions for easy flow driven. 
  5. Most of the flow driven by some actions like approve, reject etc., so write function in generic with switch cases to handle the different flow along with data passing approach.
  6. Few scenarios may be having multiple data at same flow, then there should be some provision to handle multiple entry of test data by passing argument in split way.
  7. Few controls are dynamic based on the conditions, so we can handle it using regular expression. for ex., few property values like , \strname1 can handle in as $\strname1, like that. 
  8. Controls are similar to rest web applications for PEGA. UFT can identify it properly, there is no additional add ins require.
  9. For error handling, we can used on error resume next statement at function level.
  10. Facing sync issue for application, which hurdle in night run execution. so increase wait time much to avoid such things.
  11. Try to keep all function libary at module levels.
  12. Use environment variables for sharing constant value across test suite
  13. keep configuration files for easy project path references.
  14. keep files references at top level with public variable to access across the test suite for implementing rules.
  15. keep generic functions to connect external files, fetching values or rules to implement, export test results etc.
  16. while executing UFT , we need to enable add on in internet explore for PEGA.
Regards,
Trupti

Thursday, October 26, 2017

PEGA Application Testing

Hi folks,

After long time, publish another article on Pega Application testing.

Pega application testing needs to take different approach of testing then normal STLC. Pega applications are rule based application having more than 10 k rules. I was worked with pega version 7.2.2.

Pegasystems is a leading BPM / Case Management platform provider. As leaders they are at the forefront in offering automated testing capabilities in the BPM space. Testing Pega BPM based applications from the UI is still a challenge however. Pega testing is followed in agile model. Pega is fast growing tool which makes millions of users happy. It is a business process management (BPM) tool which was founded by Alen Trefler. Pega PRPC is an Application Development Product from Pega Systems. To Test Pega Applications one need to know the Testing Management Framework (TMF) from Pega as well as Required knowledge in Manual Testing and Regressive Testing. Using Pega Unit Testing Feature one can test the Flow Rules, Decision Rules, Integrations and Automated Regression Testing. With the help of pega testing we test the pega applications very wisely and deliver as a defect free.It uses concept called PRPC which is a pega rules and process commander. It uses Rules set to design the pega applications.

As it is rule based application with large set of rules, automation tester needs to create their own framework for rule implementation. use unit testing or functional approach is more better to reusability purpose. Rules can be implemented as functional validations and we can add modules or component base approach as well for the flow of application.

As per research, selenium is best tool for pega testing, but I have used UFT 12.02 for the pega automation. Later on, project move in selenium, but I didn't find much difference in both apart from licence cost of UFT. all technical problem still resides in selenium too, which was happen with UFT.

(Reference taken from quora for below content)
Pega has different Debugging Tool inbuilt to test the Application .we have different types of testing in pega .
Types of Testing :
  • Flow based Testing – Concentrates on Business flows (E2E), involving multiple roles and interfaces
  • Role based Testing – Testing based on workgroups – Skills, UI etc
  • Rule based Testing –
    1. Business Rules - Formulae, delegated rules etc
    2. Technical Rules - integration rules etc
Pega Debugging Tools:
  • Clipboard
  • Tracer
  • Rule Inspector/UI Inspector
  • PLA (PegaRULES Log Analyzer)
  • PAL (Performance Analyzer)
  • AUT (Automated Unit Testing)
(Reference over)

For automation perspective- we should go with hybrid -data driven framework with modular approach, which work best for rule implementation with different set of data to all modules.

Few challenges in Pega projects like-
1. control identification for web edits not work proper- down key or keystroke approach needs to write for most of controls
2.Nightly run not work- application sync issues occurs much
3. modules approach required and for that application knowledge must be with you to take the decision for create modules-passing parameters, use parameters etc.
4. due to rule based implementation execution time takes more for end to end flows.
5. keep provision for normal end to end flow execution, rule base validation for module execution, role base validation etc in script itself.

Regards,
Trupti