Thursday 20 September 2012

Box2D Engine

Box2D Engine

Box2D is a free open source 2-dimensional physics simulator engine and it is written in C++ engine for simulating rigid bodies in 2D. Box2D is developed by Erin Catto and has the zlib license.
We can use this engine while developing 2D games. this is very good engine to do the 2d animation games which I came across.

Box2D features are as follows:

Collision

  • Continuous collision detection
  • Contact callbacks: begin, end, pre-solve, post-solve
  • Convex polyons and circles.
  • Multiple shapes per body
  • One-shot contact manifolds
  • Dynamic tree broadphase
  • Efficient pair management
  • Fast broadphase AABB queries
  • Collision groups and categories

Physics

  • Continuous physics with time of impact solver
  • Persistent body-joint-contact graph
  • Island solution and sleep management
  • Contact, friction, and restitution
  • Stable stacking with a linear-time solver
  • Revolute, prismatic, distance, pulley, gear, mouse joint, and other joint types
  • Joint limits, motors, and friction
  • Momentum decoupled position correction
  • Fairly accurate reaction forces/impulses

System

  • Small block and stack allocators
  • Centralized tuning parameters
  • Highly portable C++ with no use of STL containers

Testbed

  • OpenGL with Freeglut
  • Graphical user interface with GLUI
  • Easily switch between tests using GUI
  • Test framework for easily adding new tests
  • Mouse picking and the bomb!
  • CMake build system files
 Well i have tried to mention the features of Box2d engine here.

Monday 17 September 2012

Mobile Application Testing Key Factors

Mobile Application Testing Key Factors

Mobile Appli­ca­tion Soft­ware Overview
  • Overview Mobile OS and Platforms
  • Types Of Mobile Application
  • Overview on Mobile test­ing (Android / iPhone / Blackberry)
  • Mobile Web Test­ing Guide­lines and Approach
  • Scope of Mobile Appli­ca­tion Testing
Android Appli­ca­tion Testing
  • Android OS Ver­sions and Features
  • Android Device Fragmentation
  • Choos­ing devices for Testing
  • Android Envi­ron­ment Set Up
  • Intro­duc­tion to DDMS
  • Cap­tur­ing logs
  • Installing Android App
  • Android Test­ing Criteria
  • Android Market(Play Store) Sub­mis­sion Process
iPhone Appli­ca­tion Testing
  • Gen­er­a­tions of Apple devices
  • Human Inter­face Guidelines
  • Soft­ware Requirements
  • Installing Apple Apps
  • What is UDID, Impor­tance of Pro­vi­sion­ing Profile
  • Apple Sub­mis­sion Process
  • Apple Review Process
Mobile Test­ing Generics
  • Net­work Related Testing
  • Bat­tery Con­sump­tion Testing
  • Inter­rup­tion Testing(Call Handling,SMS)
  • Ver­i­fy­ing Mem­ory usage by app
  • Test­ing on dif­fer­ent types of devices
  • Test­ing on dif­fer­ent types of devices
  • Stress Test­ing
Remote Device Services
  • Overview:- Cloud based Mobile Test­ing Solutions
  • Intro­duc­tion to Device Anywhere
  • Per­fecto Mobile
  • Nokia RDA
Mobile Test­ing Utilities
  • Screen­shots cap­tur­ing tools
  • UDID Find­ers
  • Mem­ory Usage Tools
  • File Explor­ers in Android
  • Stress Test­ing Tools
  • Unit Test­ing Tool for iphone
  • Log Col­lec­tors
Here are few Automation tools which are used during mobile application testing. 

Mobile Test­ing Automa­tion Tool
You may find many more apart from this but I have tried to list down few tools which are helpful for QA in his/her mobile application testing. Please Let us know your feedback on the same into the comments section.

Monday 3 September 2012

Pros & Cons of Watir, Selenium or Sahi tools


Watir

Pros:
  • It’s a Ruby library
  • Multi browser (& OS) support
  • Has a rich API
  • Has a ‘Simple’ class (for non-tech users)
  • Watij & Watin (Java & .NET)
  • gives more stable and straightforward feeling
  • automatically waits for the page to finish loading
  • can detect when it's finished loading
  • Watir's API more. It's richer than Selenium's
  • provides an "attach" method which lets me programmatic access both
    the original domain window and the linked domain window from the same test.
Cons:
  • Have to learn Ruby (unless you choose
    Watij or Watin)
  • Every browser requires a different
    library

Selenium

Pros:
  • Multi browser, OS & language support
  • Install server-side or as FF add-on
  • Has its own IDE, which speed up development
  • Record and playback tests
  • selenium rc + selenium ide (firefox plugin) for recording and playback of test case is great for generating test case on the fly
  • Choice of programming language
  • using JAVA through CruiseControl, make it easy to conver the selenium test code to JAVA
Cons:
  • Have to learn a vendorscript => Selenese (Unless you write tests
    in another language which it supports. Then you just have to use the API
    reference which is straightforward.)
  • has a lot of timing problems
  • have to use the pause command (or Thread.sleep() if you use it in Java to wait for the loading to complete
  • with Selenium is that it is very difficult to test complex multi-site apps
  • clickAndWait is not helping when working with Ajax technology
  • runs fine in firefox but had different problem on PC with IE6 and IE7
  • learning curve is on the higher side
  • IDE is nothing but a FireFox plugin...and it works only on FireFox
  • record and play back only on FireFox and only if you install the plugin
  • automation engineer needs to have reasonable experience on the chosen language
  • need to implement most of the things including logging mechanisms
  • Extensible Javascript APIs need a rebuild
  • Selenium needed a lot of hand holding
  • selenium doesn't support IE
Remarks:
  • use clickAndWait to wait for the page to load
  • using Java language
  • Selenium 1.0 uses Javascript
  • can use Python to run IE7 with Selenium Webdriver.

Sahi

Pros:
  • Multi browser support
  • Has its own IDE
  • Record and playback tests
  • Data-driven test via jdbc:odbc bridge (this allows to exploits data
    file as xls, mdb, csv, and .. every supportend jdbc:odbc driver)
  • active community (fast replies to bugs/problem/suggestions)
  • test success/failure reporting in html files
  • capabilities to run test using batch file or ant script
  • lightweight and not stress too much the host server.
  • install once and use anywhere
  • After Sahi server is running, tester can access Sahi Controller (aka IDE) from any supported browsers, no need for local installation
  • including a script recorder, object inspector, log broser, debugger, utility to test code without recording
  • Easy to learn, simple, powerful APIs
  • Built-in color coded HTML logs
  • Extensible Javascript APIs
  • Extensible on the server with Java
  • Parallel execution of tests
  • Multiple domain scripting
  • its not using x path
  • supported IE
Cons:
  • Confusing interface
  • Least developed/smallest community
  • documentation needs to be enhanced 
  • need to be improved reporting
  • needs more visibility on the web
  • controller can be a bit quirky need some learning curve
Remarks:
  • Javascript as the scripting language
  • similar in concept to Selenium