Friday, 26 July 2013

2013 GOOGLE IO


  • Google I/O 2013 
  • 900 Million Android Activations world wide ( double the 2012 figure of 400 million)
  • 48 Billion Apps downloaded from Google Play (Apple's recent milestone of 50 billion)
  • The revenue per user is up 2.5x what it was a year ago

  • Google Play Games : achievements, cloud saves,  leaderboards , and synchronous multiplayer.  Single Sign on cross platform logins 
  • Android Studio: IntelliJ IDEA Based, preview strings of code, colors, layouts and even translations
  • Developer Admin: Translation service, alpha and beta testing 
  • Google Cloud Messenger  bidirectional XMPP messaging between server and devices, persistent connections, upstream messaging and synchronized notifications (for multiple devices.) 
  • Map API: Geofencing, Fused Location Provider (battery-friendly location API) Recognition Activity (API) - telling user's activity by walking, driving, or biking 
  • Integrating Google Maps + Google Earth 
  • Google Places: Place Recommendation, Offers, Dynamic Re-routing, Landmarks, Explorer
  • "Clicking on a museum creates a map of museums, clicking on restaurant shows similar recommendations, and so forth. And with Google Earth integrated, you can literally fly from outer space right into the interior of a building, thanks to user image uploads."
  • Google Play for Education:a content marketplace of apps, books and videos designed for educators in a virtual classroom 
  • Google Music Play : iTunes + Pandora + Spotify 
  • Google+ : Managing photos , "motion" "Awesome", :Highlight"
  • Unified Google Hang out : built into Gmail and Google+, chat with multiple people at once and send media from any device. Everything is synced between devices by Google.
  • Now cards: scheduler /reminder
  • New Video (VP9) and Image(WebP) format: reducing file size 63%, 31% respectively.

  • GMail + Google wallet 
  • Google App Engine to support PHP and Cloud Storage, targeting Amazon EC2 customers
  • Google Voice Search coming to Chrome and Chrome OS. Just say “Ok, Google…”
  •  Smarter Search: including use of "hot words," letting it take potentially ambiguous queries like "when does my flight land" and use your own data to answer it
  • Google Play Developer Console – new features in consoleApp translations
  • Revenue Graphs
  • Alpha and beta testing
  • Staged Rollouts
  • Optimisation tips
  • Google Analytics
  • Referral tracking


Tuesday, 12 February 2013

An 87 Year Old College Student Named Rose

"An 87 Year Old College Student Named Rose
The first day of school our professor introduced himself and challenged us to get to know someone we didn’t already know. 
I stood up to look around when a gentle hand touched my shoulder. I turned round to find a wrinkled, little old lady beaming up at me
with a smile that lit up her entire being.
She said, “Hi handsome. My name is Rose. I’m eighty-seven years old. Can I give you a hug?”
I laughed and enthusiastically responded, “Of course you may!” and she gave me a giant squeeze.
“Why are you in college at such a young, innocent age?” I asked.
She jokingly replied, “I’m here to meet a rich husband, get married, and have a couple of kids…”
“No seriously,” I asked. I was curious what may have motivated her to be taking on this challenge at her age.
“I always dreamed of having a college education and now I’m getting one!” she told me.
After class we walked to the student union building and shared a chocolate milkshake. We became instant friends. Every day for the
next three months, we would leave class together and talk nonstop. I was always mesmerized listening to this “time machine”
as she shared her wisdom and experience with me.
Over the course of the year, Rose became a campus icon and she easily made friends wherever she went. She loved to dress up and she reveled in the attention bestowed upon her from the other students. She was living it up.
At the end of the semester we invited Rose to speak at our football banquet. I’ll never forget what she taught us. She was
introduced and stepped up to the podium.
As she began to deliver her prepared speech, she dropped her three by five cards on the floor. Frustrated and a little embarrassed she leaned into the microphone and simply said, “I’m sorry I’m so jittery. I gave up beer for Lent and this whiskey is killing me! I’ll never get my speech back in order so let me just tell
you what I know.”
As we laughed she cleared her throat and began, “We do not stop playing because we are old; we grow old because we stop
playing. There are only four secrets to staying young, being happy, and achieving success. You have to laugh and find humor every day.
You’ve got to have a dream. When you lose your dreams, you die.
We have so many people walking around who are dead and don’t even know it!There is a huge difference between growing
older and growing up.
If you are nineteen years old and lie in bed for one full year and don’t do one productive thing, you will turn twenty years old.
If I am eighty-seven years old and stay in bed for a year and never do anything I will turn eighty-eight.
Anybody can grow older. That doesn’t take any talent or ability. The idea is to grow up by always finding opportunity in change.
Have no regrets.
The elderly usually don’t have regrets for what we did, but rather for things we did not do. The only people who fear death are those
with regrets.”
She concluded her speech by courageously singing “The Rose.”
She challenged each of us to study the lyrics and live them out in our daily lives.
At the year’s end Rose finished the college degree she had begun all those years ago. One week after graduation Rose died
peacefully in her sleep.
Over two thousand college students attended her funeral in tribute to the wonderful woman who taught by example that it’s
never too late to be all you can possibly be .When you finish reading this, please send this peaceful word of advice to your friends and family, they’ll really enjoy it!
These words have been passed along in loving memory of ROSE.
REMEMBER, GROWING OLDER IS MANDATORY. GROWING UP IS
OPTIONAL.
We make a Living by what we get, We make a Life by what we give."

Saturday, 9 February 2013

Mark Warner Wake Forest Commencement Speech 2006

"This is the spirit which makes America unique. Our insatiable desire to push the boundaries of what we know and what we can do is what propels our science, our scholarship and our economy.I know; it can be scary. I'll often remember ... after college, I went to law school and a year or so after law school, I decided I would become an entrepreneur. So, I took my life savings — $5,000 — invested in a little energy start-up company. I went to work for that company and, in six weeks, in six weeks I helped that company go totally broke.

I then went into real estate. It took me six months to fail at that. So, at the ripe old age of 26 — student loans coming due — was living out of my car — sleeping on the couches of my law school classmates. This was back in 1982. A new friend told me about a new industry starting up called cellular telephones. I'll always remember my law school classmates saying to me, "Warner, you're so crazy. Go get a real job. Nobody's ever going to want a car phone!" They're still practicing law. So, I fell into that industry and ended up co-founding Nextel. 

- Mark Warner Wake Forest Commencement Speech 2006"

Intelligence

Regarding to intelligence,.I would say someone is intelligent if one has three capabilities - collecting "relevant" pieces of information, interpreting them considering involved party's concern/interest and making best decision to meet,  social equilibrium, in other words, at least to draw majority satisfaction.  But among these three capabilities, I would appreciate more about "considering involved party's concern/interest".  (Hmm, this sounds very metaphysical, in short, I appreciate a considerate person.)

We, as a member of society, are surrounded by full of decision making processes - even finding where to hangout, whom to meet, and what to do for fun. As a human being I believe we are natural-born self-ego and lonely even with friends and family. So that one could easily behave and pursue his/her own interest only and try to utilize all the resources as many as possible in order to fulfill his/her desire even including their friends and family members. However, some people are so considerate by putting themselves into other's shoes and suggesting somethings to meet other's satisfaction as well as his/hers. And I believe this attitude could bring more intellectual conversation , even inspire all the involved people and lead to better conclusion when it comes to decision making. This is my understanding of "intelligent people" and I try to be the one and want to win the respect from "intelligent people". 

Thursday, 31 May 2012

connecting Xcode4 with SVN server


Are you using xCode 4 with Snow leopard?

In this case, I solved like this. I think this caused by a bug  in Xcode or permission problem in Mac or something though.

1.Launch  the terminal in your mac,
2. type in the terminal   svn ls svn://svnserverURI/Repository
3. And it will ask you password (This is your Mac's password), and then your ID (svn repository ID) and password (svn repository PW) again
4. once you typed correctly, it will show you success.
5. Go to Organizer in Xcode, and hook up repository, then you will see ID/PW and No Revision updated on the work space

Android expiration error


Goto  /Users/name/.android/debug.keystore 
rm debug.keystore

Saturday, 5 May 2012

Team work and productivity.

Teamwork is the ability to work together toward a common vision.
The ability to direct individual accomplishments toward organizational objectives.
It is the fuel that allows common people to attain uncommon results.
~Andrew Carnegie


In my program at the Carnegie Mellon University, we highly promote this motto - "learning by doing" , like Andrew Carnegie said, we highly value on "uncommon results" from teamwork. 


As far as Web technologies and network has been evolved, it has been way easy to get oneself exposed to any educational environment. People could learn how to install software and tips from blogs, Youtube, iTunes university, even from limited 160 words from Twitter. It's been hard to add more value added service in education area without building environment to share, think and conclude together. 


I totally agree with Andrew Carnegie's Teamwork spirit, and want to promote this spirit to my classroom as well to bring more unforgettable moments to my students. 


I see some students feedback regarding to team work and productivity. I see some complaints about slackers. However, I've observed tremendous outcomes from any teams in the class room. They could not reach those results without inspiring , challenging, arguing and debating each other. That being told, I wish my summer lecture going well to bring same team spirits for SE , ISR and INI students.  I do believe their potential ability to bring their best efforts to inspire each other as well as myself, other guest judges and guest lectures. I hope they could build strong companionship each other and learn each other. Can't wait to see it. 

Sunday, 29 April 2012

Work, Family, Health, Friends, and Spirit - Five balls by James Patterson


Imagine life is a game in which you are juggling five balls. The balls are called work, family, health, friends, and integrity (your spirit) . And you're keeping all of them in the air. But one day you finally come to understand that work is a rubber ball. If you drop it, it will bounce back. The other four balls–family, health, friends, integrity–are made of glass. If you drop one of these, it will be irrevocably scuffed, nicked, perhaps even shattered. And once you truly understand the lesson of the five balls, you will have the beginnings of balance in your life.

Imagine life as a game in which you are juggling some five balls in the air. You name them - Work - Family - Health - Friends - Spirit, and you're keeping all of these in the air.

You will soon understand that work is a rubber ball. If you drop it, it will bounce back. But the other four balls -- family, health, friends and spirit are made of glass. If you drop one of these, they will be irrevocably scuffed, marked, nicked, damaged or even shattered.

Totally agreed. To me my spirit is the most important thing as well as my family - actually Mom. She needs lots of attention before going back to nature. I know as a human being, we need to answer the nature's call, my mom will do the same at most in 50 yeas. Sometimes I was mean to her, even though I always aware of her problem, but I am a human being as well....so sometimes I was not friendly to her. I should keep this in mind more seriously. Time and resources are limited, and I should focus on something important in my life rather than other's criteria. Focus!

Monday, 23 April 2012

Goal for this year.

1. Appreciation : to earn the appreciation of honest critics, to appreciate beauty, to find the best in others;
2. Respect : to win the respect of intelligent people
3. Trust : to build trust with at least two friends and two coworkers 
4. Individual growth
5. Companionship with co-workers

Recall from 80/20 principle , the village theory


From Chapter 12,  The 80/20 Principle: The Secret to Success by Achieving More with Less” by Richard Koch
“Apparently, the common pattern of people in any society is to have two important childhood friends, two significant adult friends and two doctors. Typically, there are two powerful sexual partners who eclipse the others. Most commonly, you fall in love only once and there is one member of your family whom you love above all others. The number of significant personal relationships is remarkably similar for everyone, regardless of their location, sophistication or culture. This has led to the anthropologists’ ‘village theory’. In an African village, all these relationships happen within a few hundred meters and are often formed within a short period of time. For us, these relationships may be spread all over the planet and over a whole lifetime. They nonetheless, constitute a village which we each have in our heads. And once these slots are filled, they’re filled forever. The anthropologists say that if you have too much experience, too early, you exhaust your capacity for further deep relationships. This may explain the superficiality often observed in those whose profession or circumstances force them to have a great number of relationships, such as salespeople, prostitutes or those who move house very frequently.”
For This reason we should be careful in choosing our relationships and try to fill these slots with the most valuable people we can find and not rush to fill them. 

Thursday, 6 October 2011

Tribute to Steve Jobs from Mr. President

“Michelle and I are saddened to learn of the passing of Steve Jobs. Steve was among the greatest of American innovators brave enough to think differently, bold enough to believe he could change the world, and talented enough to do it.

By building one of the planet’s most successful companies from his garage, he exemplified the spirit of American ingenuity. By making computers personal and putting the internet in our pockets, he made the information revolution not only accessible, but intuitive and fun. And by turning his talents to storytelling, he has brought joy to millions of children and grownups alike. Steve was fond of saying that he lived every day like it was his last. Because he did, he transformed our lives, redefined entire industries, and achieved one of the rarest feats in human history: he changed the way each of us sees the world.

The world has lost a visionary. And there may be no greater tribute to Steve’s success than the fact that much of the world learned of his passing on a device he invented. Michelle and I send our thoughts and prayers to Steve’s wife Laurene, his family, and all those who loved him.”

iPhone 5 to Feature Apple Friend Locator?


http://www.iphonefaq.org/

Recently revealed patents point to Apple developing a native location reporting app that would make it possible to broadcast your iPhone location to friends and see who's nearby. The patent, filed in June 2009, is titled "Push-Based Location Update" and is credited to four Apple engineers.

The Friend Locator app would track users based on their iTunes account login, and feature voluntary privacy controls such as blocking individual users from seeing your location. Those who have their iPhone set to push location updates will be listed along with their location and the distance, or as a push pin on a map.

Location services can be set to automatically update the service or use only manual updates similar to a Foursquare check in. Apple is competing directly against Google's Latitude service, which finally launched in the App Store last week. Apple had said it was evaluating the app and they were concerned it could confuse users of the built-in Maps application. Google Latitude boasts nine million active users.

When it comes to location services and GPS, speculation has centered on Apple's recent acquisitions of mapping companies Placebase and Poly9. Recent reports have indicated that Apple might offer a native navigation app that would speak directions to iPhone owners for free. With this patent on the books, it seems that the Apple Geo Team has its hands full developing a variety of new built-in features for a future iOS devices.

The iPhone 5 is expected to ship in summer 2011. Apple could include Friend Locator and voice navigation applications on the next generation device, however the company normally keeps tight-lipped until several months before a new product is available. Stay tuned for updates on new location services coming to future iOS releases.

Saturday, 30 July 2011

Don't criticize, condemn or complain.

I think it is funny that how people are so easy to judge and point out other people's flaws. However, if the people in the world focused more on themselves rather than judging people or worrying about what everyone else is doing, then things would be much different, I believe.

In the book "How to win friends & influence people", there is the1st principle Dale Carnegie addressed, which is, "Don't criticize, condemn or complain".

Critisisms are useless, because it could put the person against you and then make the person trying to make excuses to defense himself or herself against what he or she was told.
Condemning is risky, because it would hurt the person's pride and damage one's importance or contribution in the world as a human being and finally would lead to resentment. (I would feel strong resentment and deeply condemn the person if someone would condemn me.)
Complaints cannot solve issues and are not helpful to improve or progress, either.

If you are asked to evaluate someone else in your company or from your friends,
Do not criticize, condemn or complain.

Let's make things better!

Thursday, 30 September 2010

A Story about one young man transformed entire store

"The Simple Truths of Service" (http://www.youtube.com/watch?v=tDrmFolx2wc&feature=player_embedded)
- Inspired by Johnny the Bagger
- By Jen Blanchard & Barbara Glanz

Johnny the Bagger
A Few years ago, I was hired by a large supermarket chain to lead a customer service program - to build customer loyalty.
During my speech I said "Every one of you can make a difference and create memories for your customers that will motivate them to come back"
How?
"Put your personal signature on the job"
Think about something you can do for your customer to make them feel special - a memory that will make them come back"

About a month after I had spoken, I received a call from a nineteen-year-old bagger named Johnny.
He proudly informed me he was a Down Syndrome individual and told me his story.
"I liked what you talked about:" he said "but at first I didn't think I could do anything special for our customers"
"then I had an idea" Johnny said,
"Every night after work, I'd come home and find a thought for the day"
"If I can't find a saying I like, " he added, "I just think one up!"
When Johnny had a good "Thought for the Day" his Dad helped him set it up on the computer and print multiple copies.
Johnny cut out each quote and signed his name on the back. Then he'd bring them to work the next day.
"When I finish bagging someone's groceries, I put my thought for the day in their bag and say, "Thanks for shopping with us."
It touched me to think that this young man - with a job most people would say is not important - had made it important by creating precious memories for all his customers.

A month later the store manager called me….
"You won't believe what happened. When I was making my rounds today, I found Johnny's checkout line was three times longer than anyone else's ! It went all the way down the frizzed food aisle. So I quickly announced. 'We need more cashiers; get more lanes open!' as I tried to get people to change lanes. But no one would move. They said, 'No it's okay - we want to be in Johnny's lane - we want his "Thought for the Day",
The store manger continued, "It was a joy to watch Johnny delight the customers"
"I got a lump in my throat when one woman said, ' I used to shape at your store once a week, but now I come in every time I go by, because I want to get Johnny's "Thought for the Day."

A few months later, the manager called me again…
Johnny has transformed our store.
Now when the floral department has a broken flower or unused corsage, they find an elderly woman or a little girl and pin it on them."
Everyone's having a lot of fun creating memories.
Our customer are talking about us…they're coming back, and bring their friends,
A wonderful spirit of service spread throughout the entire store and all because Johnny choose to make a difference
Johnny's idea wasn't nearly as innovative as it was loving. It came from his heart - it was real. That's what touched his customers, his peers…and those who read this story.
Great service comes from the heart....
Will you be a Johnny today?

Here is the youtube link

http://www.youtube.com/watch?v=qOZPlt3Ha0Y&feature=related

Wednesday, 1 September 2010

Life Explorer

I never know where the life takes me.
Sometimes I had so much fun with my job, colleague, friends and family.
Since I moved to States, I observed people here in Pittsburgh , especially Carnegie Mellon University students and faculties, and I learned from them the spirit of "Share - any information, any experience, any tips ..so on and so forth" and "Explorer" Which does not mean vega bonding life but means "be initiative" or "make mistakes".
Life is full of freedom with limited resources like time and money, opportunities with responsibilities, challenges with risks.
Yes, I took the risk when I came here, but I explored student life here in Pittsburgh, software architect in San Francisco, and back to School as a faculty in CMU.
Yes, my life has been full of opportunities and choices I could get.
Still I have no idea where I will end up, but It could not better than my current life.

Sunday, 11 April 2010

iPad user experience

Finally I've got the iPad and now I am writing this article with my iPad. Whenever I was in the meeting or conference I wanted to have something easy to type and smaller than laptop in my hand but I could not find any useful devices so far. iPad is the device I was looking for and this is an amazing, beautiful and super fun device I ever had. .....except for virtual keyboard. Especially in horizontal mode, each key is rather bigger than my finger and also bigger than my hard apple keyboard. There are a little bit wider spaces between keys and thus it causes typing errors and the fill- in screen is rather small than in the viewer mode. I felt whenever I type in the input field or text area automatically target areas or input fields shrinks down a little bit and the virtual keyboard pops up in an enormous size. Who did design this virtual keyboard...????? This is pretty annoying situation: I lean on the couch, I want to write something but it is hard to read whenever I am typing and With both hands I am making key in errors with the huge virtual keyboard, and thus I ended up typing with two fingers. Oh, Please apple virtual keyboard designer, " consider my finger size in a horizontal modes!

Wednesday, 7 April 2010

iPhone Mobile Web icon

With Add to "Home Screen" feature by iPhone, any website can easily expand to Mobile web page by adding 57*57 image (png).


This is easy step.
1. Create your own icon (57*57 png format)
Create a 57x57 PNG.
Name it "apple-touch-icon.png"

How to create icon (glassy 57*57 png format)
http://developer.apple.com/safari/library/documentation/InternetWeb/Conceptual/iPhoneWebAppHIG/MetricsLayout/MetricsLayout.html#//apple_ref/doc/uid/TP40007900-CH6-SW31

2. locate this icon on Root on your website

Throw it in the root folder of your website. (Not the root of your server, the root of your web documents.)

3. Add link tag on your landing page

Here is the information
How to add icon on the website
http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html

add link tag
href="http://url/images/twitter_57.png" rel="apple-touch-icon"

4. Nothing to do - Safari works for you
t's basically just a 57x57 pixel PNG image with no special effects applied. The device itself will add rounded corners, a drop-shadow, and a glassy reflection

Tuesday, 6 April 2010

CruiseControl

Continuous Integration With Cruise Control



Outline
0. Overview
1. Subclipse For Eclipse
2. Auomated Builds
3. Auomated Testing
4. Auomated Deployment

0. Overview
Problem Statement

Developing, building, testing, and deploying software presents a set of challenges as changes to the software are introduced.
Different versions of files must be tracked and tagged so there can be a snapshot of the software at a particular time. Without a snapshot, there is no point by which to know what version of the software is released.
Broken builds wastes time and money. In a team environment, developers often work on the same source files simultaneously. And if a developer does not have the latest working set of files, his or her build may break. Secondly, a developer may forget check in his or her changes, breaking the build for everyone. If the second case happens in a multinational corporation, much more time is lost due to developers working at different hours.
When a build is successful, new changes introduced in the build may break its intended functionality. Regression tests can catch when new changes break the intended functionality.

The Solution

The solution is to have a tight and continuous integrated development, build, test, and deployment environment as the software code is updated; errors or failures at any step of the cycle should inform interested parties so the failure can be addressed immediately. By immediately fixing the failure, it does not hold up other team members from continuing their work. One particular proposal is to integrate SVN, Subclipse (SVN plugin for Eclipse), Ant build scripts, and Cruise Control into the development, build, test, and deployment processes.
SVN can be used to manage different versions of the software, from each file to the entire project. Projects can be tagged, branched, and later merged back into the main line. However, SVN is commandline based and is not user friendly since developers have to type SVN operations by hand. Using the Subclipse plugin for Eclipse, the developer can interact with the code under development and SVN from a GUI perspective.
As code is checked into SVN, Cruise Control can automate builds at certain time intervals using Ant build scripts. Email alerts will be sent out to interested parties with each successful or failed build so that problems in the build can be addressed immediately.
Automated testing can be done in two ways. First, Cruise Control can be setup to run JUnit tests associated with each Java class. Of course, JUnit test cases would have to be written. Secondly, scripts can be written to run regression tests, such as Selenium test suites, whenever a new application is deployed or at scheduled intervals.
Cruise Control can be extended to process automated deployment of successful builds. TBD.


1 Subclipse For Eclipse
1.1 Installation

After starting up Eclipse, install the Subclipse plugin by selecting the menu item Help-->Install New Software. Type in the url http://subclipse.tigris.org/update_1.6.x in the "Work With" textfield and follow the installation wizard.


1.2 SVN Operations

Before starting, we must create a new project checked out from SVN. Select File-->New-->SVN-->Checkout Projects From SVN.


Then create a new SVN repository to checkout from or select from an existing one.


Once the project is checked out in Eclipse, the developer can modify files and Commit them to SVN. Other common operations include updating to the latest revisions (HEAD), synchronizing with the repository, and working off of branches and tags.


To create a branch, select Team-->Branch/Tag and enter the url where the branch should be created.


To switch to a branch, select Team-->Switch To A Branch/Tag/Revision.


After work on the branch is done, merging the branch code back into the main line can be done by selecting Team-->Merge. From the Merge GUI, select "Reintegrate a branch".


2 Automated Builds
2.1 Ant build.xml File

The Ant build.xml file contains properties and tragets. Properties are key-value pairs. Targets are instructions on how to carry out tasks in the build process. Sometimes, targets have dependencies on other targets to be executed first. In the build.xml file below, the "main" target depends on other targets such as clean, copy, compile, war, and delete all of which are executed in the order listed.


This build.xml file will be used by Cruise Control to carry out the build.
2.2 Configuring Automated Builds in Cruise Control

To enable automated builds, modify Cruise Control's config.xml file by adding the particular SVN project parameters. There are many configuration parameters to set but there are a few noteworthy ones to highlight. First is the svnbootstrapper parameter which specifies to do an svn update on the project or file prior to each build attempt. The svn modificationset parameter instructs Cruise Control to check with svn to detect any modifications since the last build. If there are modifications, then the schedule parameter specifies how to do the build. In the example config.xml file below, ant is called on the build.xml file executing the main target. The artifactspublisher specifies the file created from the build. Who to email after each build attempt can be specified in the email parameter.


2.2Cruise Control UI

The Cruise Control UI is straighforward. From the Dashboard, a list of projects and the status of their last build is displayed. To view details builds for a particular project, click on that project. For a particular build, the user can view modifications of source files since the last build, the build log, test results, and any errors and warnings. To force a build, click on the cirucluar arrow.

Selenium

[Test] SIT with Selenium
Wednesday, March 31st, 2010

Automated SIT For DI


Outline

0. Overview
1. Configure SIT Web Application
2. Generating Test Scripts For Each FI
3. Running SIT
4. Detailed Installation Guide
0. Overview
SIT is automated with the SIT web application making calls to the Selenium IDE and Remote Control (RC) tools. Test scripts (suites) can be recorded with the Selenium IDE (a plugin to firefox) and executed with Selenium RC at the command line via Java. To perform full SIT, many test suites need to be executed and the results need to be displayed in an organized way. A user interface (web application) has been written to interface with the Selenium IDE and RC as well as the output results from Selenium. This document explains how to configure the SIT web application, configure SIT scripts for an FI (Financial Institution), run the scripts (through the web app), and how to view the results.
The user takes the following steps to automate SIT for FI’s.

Configure SIT Web User Interface
Generate Test Scripts For Each FI
Run SITon FIs
Top

1. Configure SIT Web Application
The SIT web application comes as a war file, sit.war. After grabbing the sit.war file from cruise control, place the sit.war file under Tomcat’s webapps directory. Click on the sit.war file link in cruise control to save it locally.


Another way to get the sit.war file is to build it by checking out the code from svn and run ant on build.xml against the main target.

Tomcat will explode the sit.war file in the directory structure below.

The SIT web application consists of jsp, java class, and image files. Deploy these files under tomcat’s webapps directory in a folder called “sit”:

WEB-INF directory containing compiled java class files
img directory containing images
batchfiles directory containing Windows batch files calling test scripts
testcases directory containing Selenium test scripts
testresults directory containing Selenium test results
tsgen directory containing scripts to automate creation of Selenium test cases
afidashboard.jsp UI to interact with each FI
selectTests.jsp selects which test to run for an FI
testit.jsp tests, displays results for each FI
build.xml ant build file to build sit.war
Install the following on the client machine:

Selenium IDE and RC
Firefox
ActivePerl for Windows
Tomcat for Windows
Top

2. Generating Test Scripts For Each FI
tsgen.pl and the properties file are part of the SIT web application that got exploded from the sit.war file. Open a command prompt and cd into the tsgen directtory. To generate test scripts for the SIT web application to execute, run the following command:
C:\apache-tomcat-6.0.20\webapps\sit\tsgen perl tsgen.pl properties\propertiesFile
The input to tsgen.pl is a properties file (sample properties files for usecu and vantage west) containing FI specific settings and input parameters to the generated test scripts. After creating a new properties file, please check the file into svn for the project DI_Autoscripts.

2.1 Properties

# template source directory and where to deploy testcases

templatedirtg directory where template test scripts reside
testcasedirtg directory where testcases should be deployed to under webapps directory
# backslashes are escaped (for compatibility with Perl)
# info for batch files

finametg fi name
ibsitetg url to ib site
mbsitetg mobile banking url
testresultsdirtg directory where test results should be deployed to
seleniumservertg file path to selenium-server.jar file
# batch files source and destination

templatebatchdirtg directory containing template batch files
destbatchdirtg directory where batch files should be deployed to
# Test script specific info

# premium bank or not

ispremiumtg true for premium, false for basic bank
## below substitutions in test scripts
### login info

timeoutsg number of milliseconds to wait for a web page to load before timing out
usernamesg username to log in as
passwordsg password for user
mfasuccesssg mfa answers (space separated between each answer)
finamesg finame
invalidUsernamesg value to input as invalid username
invalidUsernameSpecialsg invalid username with special characters
passwordSpecialsg invalid password with special characters
#contact us

phonenumbersg fi phone number
contactfinamesg fi full name
address1sg fi address 1
emailaddrsg fi email address
cityStateZipsg fi city, state, zipcode
# values “typed in” for tests 01-02-*

checkingsg regular expression matchng checking account name
savingssg regular expression matching savings account name
dateSpecialCharssg date with special characters
transactionStartDatesg start date for transaction search
transactionEndDatesg end date for transaction search
# test 01-02-03

transactionnamesg transaction name to look for
#test 01-03-02

loantransactionnamesg loan transaction name
loannamesg regular expression for loan name
#test-1-04-02 transfers, dates also used for payments

futuretransferdatesg future transfer date
futuretransferdatenodashsg future transfer date without the dashes
invalidamountsg invalid amoutn for transfer
pastdatesg past date for transfer
# making payments, 01-05-01

payeesg regular expression for payee name
weekenddatessg weekend date for payment
validpaymonthdatesg valid month and date
# pending payments, 01-05-02

paydatechangesg change payment date to this date
paydatechangemonthdatesg payment date text to look for (month and date)
# location search, test 01-06-02

citysearch2sg city name to search for
statesearch2sg state location belongs in
zipsearch2sg zip code of location
#rates, test 01-06-03

ratessg comma separated rates links
Names for checking, savings, loans, and loan transaction name can be expressed as a regular expresssion. In particular, the checking and savings name should be written in a way to match both the account and tranfers pages. A rule of thumb would be to ignore the numbers at end of the names. Then use the “*” characters to eat up the beginning and end parts of the name.

For example, on the transfers page, the checking account name is “71: PREMIUM CHECKING:7,000″. The same account is displayed in the accounts page as “PREMIUM CHECKING #71″. A regular expression to use for the checing account name can be “*CHECKING*”.

On the accounts page:



On the transfers page:



Top

3. Running SIT
3.1 Runing Selected SIT Testcases on Single FI
To run selected (and possibly the full) SIT test suite, access the SIT Dashboard page. For the local machine, go to http://localhost:8080/sit/afidashboard.jsp. The dashboard shows FI’s available for testing and status of the last run.

Mouseclick the selenium icon next to the FI’s name to go to the test selection screen for that FI.



Now select which test cases to run or to run the full test suite, toggle the checkall checkbox at the top. Press the “Run SIT” button to automate SIT on the selected test cases.



After the test run, the user will be taken to a page displaying the results of full SIT test. Each row in the table list the results of a set of testcases and corresponding result files. Click on a particular results file to view detailed results of that particular testcase.



Click on the Dashboard button to return to the dashboard.

Clicking on a particular test results file will take the user to detailed information about that particular testcase.



3.2 Full SIT on Selected FIs
To run SIT on selected FIs, the user can select the checkbox next to each FI or select all FIs to test by toggling the checkbox on the top. After selecting FIs to test, the user then clicks on the “Run SIT” button.



After running SIT on many FIs, the user will be taken back to the dashboard.

3.3 Viewing Test Results
To view test results for a particular FI, click on the file image in the same row as the FI’s name.



Top

4. Detailed Installation Guide