Subscribe via Email

Subscribe to RSS feed

How the Defect Triage Process Helps

In this blog, I will introduce the defect triage processes that I previously defined and show how it can be tailored for similar, future projects.


I joined an integration project to lead and do integration testing after I already did functional testing for the client’s four projects, which were all related to the integration project. I thought it would be easy for me to tackle the integration testing because I have already done testing for these individual projects, and I knew the requirements and business rules quite well. I also have already communicated with the project managers and team members of the APP projects during functional testing.

However, when integration testing started for a while, I found the most challenging work was not about finding a valid defect quickly.  Read the rest of this post »


Posted in Testing

What’s a Mobile Simulator? An Intro to iPadian

What is a Mobile Simulator?

A mobile simulator is a software application for a personal computer that creates a virtual machine version of a mobile device, such as an iPhone, or other smart phone, on the computer.1 The mobile simulator allows the user to use features and run applications on the virtual mobile on their computer as though it was the actual mobile device. A simulator can be simply termed as a model for analysis. But in the case of an emulator, it can be used on the basis or particle-oriented purpose, or it can be substitution in case of the original device purpose. It is there to give you an idea about how something works.

Read the rest of this post »

Posted in News

Informatica: How to set target flat file name with timestamp


We want to create a target flat file name with the current system date.

Solution 1

  1. The first method is renaming target file name in post session command as bellow:


The following command will rename the file in the format filename_MMDDYYYY.out on Windows:

move $PMTargetFileDir\filename $PMTargetFileDir\filename_%date:~4,2%%date:~7,2%%date:~10%.out

01 Read the rest of this post »

Posted in BI&Database

The Architect Role in Offshore Development Projects

“The best architectures, requirements, and designs emerge from self-organizing teams.”

– One of the agile principles.

The Architect Role in Offshore Development ProjectsWhenever I see an offshore delivery project where the architect is super busy on implementing/coding a particular feature and has little time to communicate with the development team, most likely the project is running into trouble… So, what should architect do in offshore delivery project?

The Architect should act as bridge between the customer and development team

Due to the time zone differences between the offshore team and customers, the onshore architect is naturally responsible for working directly with customer (and business analyst) to define functional and non-functional requirements, including identifying and resolving conflicting requirements.

On the other hand, architect should also work with the offshore development team to ensure that the requirements and the high level design are fully understood by the team. During the development, offshore team usually will ask requirement questions. Architect should be responsible for answering those questions in time.

Read the rest of this post »

How to Use a Mobile Emulator for Testing

When we start a discussion about Mobile browser testing,  we immediately think of testing on a mobile device. I can suggest a different idea. Emulators.

Nowadays it’s very common that people view websites on mobile devices. So Mobile testing is needed in order to ensure testing.

What is an Emulator? Any Guess?

An Emulator is a device which mimics something close enough so that it can be substituted for real world device. Mobile emulators always supports functional output and will tell you visually, what isn’t working on a website. A mobile phone emulator lets you check the responsiveness and functionality of the website across different mobile platforms, such as iPhone, Android..etc..

Emulation or emulators behave exactly like the same device, in order to result in exact output and performance.

Emulator is – it will always take compile code and it will try executing it but in case of

Simulator is – it is very similar to interpreter that is it actually executes the real code in line by line to mimic original behavior of that device.

Read the rest of this post »

Posted in News

Use XRANK operator to boost the dynamic rank in Sharepoint 2013

In this blog, I’ll introduce a novel ranking algorithm called XRANK as a solution to boost the dynamic rank of items based on certain term occurrences within the match expression in Sharepoint 2013.

In the law firm business, there are lots of matters, and the attorneys always try to find out matters which are similar. For example, another matter is considered similar to the current matter according to the affinity for the following matching values. Any match within a tier trumps matches on subsequent tiers, while multiple matches within a tier would serve as a tiebreaker. Read the rest of this post »

Using Selenium with Java and TestNG (5)

Page Factory

In this blog, I‘ll introduce how to use selenium page factory.

Page factory is the way selenium provided to reuse the web elements.

If you don’t use page factory or the page object model, the test scripts maintenance will take too much effort. The problem is that selenium only gives the page factory to us but does not tell us how to design our framework to use it.

Here is my design: Read the rest of this post »

Posted in Testing

Using Selenium with Java and TestNG (4)

Simple Script

In this blog, I‘ll introduce how to use selenium to create a simple script. You will find that selenium is very easy to use.

Before we start, let me introduce the basics of automated testing. It is very simple, only 3 steps:

  1. Get the expected Result
  2. Get the Actual Result
  3. Assertion, compare the expected result and actual result

For selenium script, there are also 3 steps:

  1. Locate an element
  2. Operate an element
  3. Assertion

Read the rest of this post »

Posted in Testing

Perficient Establishes Domestic Delivery Center in Lafayette, LA

This morning I had the privilege to stand alongside Perficient President and CEO Jeff Davis, as well as Louisiana Governor Bobby Jindal, to announce that Perficient will establish a domestic delivery center in Lafayette, Louisiana.The addition of the Lafayette-based delivery center will augment our global delivery centers in China, India and Macedonia, which for more than 10 years have provided critical offshore capabilities to our customers while complementing our technology, delivery management and industry vertical expertise and capabilities across North America.

Perficient Established Domestic Delivery Center in Lafayette, LAI’m so pleased to share this exciting news with the multi-shoring community. At Perficient we not only strive to provide the best experience to our customers but pride ourselves on being a trusted advisor to our clients as well.

I believe Jeff Davis said it best this morning when he stated that being a trusted advisor to our clients depends on having the capability and the expertise to staff the right skills, in the right place, at the right time. We strongly believe our new Lafayette-based center will broaden our flexibility and capacity to serve our growing roster of clients.

It’s an ideal location with an educated workforce and proximity to several universities and technical colleges, and is well supported by local and state leaders focused on economic growth.

Additionally, the domestic delivery center will be patterned off the same proven global delivery model and Agile methodology that we’ve used in our existing development centers. We’ll meld in best practices that we employ today throughout our existing U.S. office locations, and will add capabilities and improved service levels that cover the entire spectrum of the software development lifecycle, including:

  • Up-front business analysis using leading-edge visualization techniques and high fidelity prototyping
  • Software development using a wide range of platforms from Perficient’s strategic partners such as IBM, Microsoft, Oracle and
  • Quality assurance and testing
  • Up to 24×7 support services through a managed service offering called SupportNet

As we look to the future, Perficient remains committed to providing its clients an optimized global delivery approach. The domestic delivery center will ensure we continually deliver high-quality solutions in the most cost effective way for our customers.

If you are interested in learning more about our plans, timelines and needs, click here.



Tags: ,

Posted in News

Using Selenium with Java and TestNG (3)

EventFiringWebDriver & Listener

In this blog, I‘ll introduce how we use EventFiringWebDriver and listener to create an auto-logging system for the test framework.   Why use EventFiringWebDriver and the event listener?
If we use it, we can easily know what a web driver instance will do with a small listener, and what operation  it does when an event fires.

  1. Using Selenium with Java and TestNG (3)We can use log4j to print log when the web driver performs an operation. That means when the test cases are executing, the logs will get printed automatically. What we need to do is to add only a few lines of code in the listener.
  1. We can add some functions to capture a screenshot in the listener, and the screenshot can be captured automatically when an event is firing. For example, it can capture the screen when you get an exception or capture the screen when selenium navigates to a new page.
  1. We can add some explicit waiting methods to slow down the test execution.

How to use EventFiringWebDriver and the event listener:

  1. We can create an EventFiringWebDriver as following, and it also registers the listener:

WebDriver driver = new EventFiringWebDriver(new FirefoxDriver()).register(new LogEventListener());

  1. We need to create the LogEventListener class which we used in the first step.

Read the rest of this post »

Tags: , ,

Posted in Testing