Saturday, December 10, 2011

iOS Testing Strategy

Recently our team at Kiprosh started using FoneMonkey for Automation testing of iOS apps. FoneMonkey is free and has strong support for both iPad and iPhone devices.

Here are the various tools that we evaluated and shortlisted for iOS testing and then finalized our testing strategy for iOS apps (tools marked in color green are recommended)

Unit Testing
  • Built in XCode based unit testing using OCUnit - (little complicated and requires too many steps to create the unit test, process isn't automated)
  • GTM - Google Toolbox for Mac - (suitable) http://code.google.com/p/google-toolbox-for-mac/wiki/iPhoneUnitTesting
  • GHUnit - (most suitable, easy to setup, has GUI, but documentation and other build issues)
  • Mocking - OCMock and OCHamrest

Automation Testing tools and framework

Integration / Automated Builds
  • Hudson with xcodebuild
  • Code coverage (gcovr) with Cobertura XML

Testing Strategy
Finally we formulated following testing strategy for iOS apps
1) GHUnit for unit testing
2) With memory management, we must verify that when allocation fails we get expected return value as nil rather than garbage
3) Automation test suite (using FoneMonkey mostly or Sikuli or DeviceAnywhere)
4) Finally plug all the unit tests and automation test suite with CI using Hudson
5) Integrate often

Tuesday, August 2, 2011

JRuby + BIRT Reporting + TorqueBox = Enterprise Reporting Solution with Seamless Integration

Recently I got an opportunity to work on a rails application to implement an enterprise solution using JRuby + BIRT reporting + Torquebox and Trinidad. All an all a great learning experience in integrating all these latest technologies to build an enterprise and reporting solution. We are still improving performance for BIRT reporting. Torquebox provides lots of flexibility and high performance in deployments. JRuby is a year older now and came up with various bug fixes so it again helps. We used Trinidad too that became our default application server to use with JRuby.

This kind of solution is ideal for the Rails app containing blend of Java and Ruby as architectural stack that heavily wants to reuse, consume stable reporting platform such as BIRT (offers rich variety of reports to an application). Rails stack lacks heavy reporting and readily available solution that delivers rich set of features in all the available formats. Thus BIRT is a good fit for solution that wants to implement reporting in Rails app with the help of Java ecosystem. BIRT offers charting engine too along with features for Lists, Crosstabs, Compound reports etc. Easy integration, rich documentation, lots of active forums for help adds good points in favor of BIRT and thus we tried it in our application.

Thursday, March 3, 2011

Give others and yourself an 'A' today !

Came across this nice article with stories on rewarding others and yourself an 'A' in advance.
Article - Give yourself an 'A' today! It makes a difference.

This makes sense and I must admit that directly or indirectly I was using this before too without any thought or doubt of weighing this as a good or bad practice despite having fairly above average results in both professional and personal life. Well quite debatable as it gets sometimes, but worth a try to experience first hand.

Wednesday, January 26, 2011

Websites as Graph

Recently came across this cool online tool that enables to view websites as graph
http://aharef.info/2006/05/websites_as_graphs.htm
http://www.aharef.info/static/htmlgraph/

Tried this on portal / web app we implemented and here is how their DOM elements look like

1) Saralsociety.com



2) Oncocure.com