Home     RSSRSS

Archives: Project Management

Mobile Performance Testing- Requirements Gathering Process

November 30, 2011 by kiranbadi1991 | Comments Off on Mobile Performance Testing- Requirements Gathering Process | Filed in Performance Engineering, Process, Project Management

As per the research done by Morgan Stanley, mobile internet will soon be overtaking fixed internet and we can see and feel the same trend now given that smartphones and tablets sales are overtaking PC sales,so all these changes compels us to go with a market demand.

http://gigaom.com/2010/04/12/mary-meeker-mobile-internet-will-soon-overtake-fixed-internet/

http://www.pcmag.com/article2/0,2817,2379665,00.asp

So I thought let me share some of my thoughts based on my exposure to mobile world.I did poke around with WAP/Openwave emulator back in 2006/07 with both Silk Performer and LoadRunner.I do remember they have a protocol bundle for testing mobile traffic back then.I faintly remember it was more of an open source emulator support which these tools were supporting.Now the scenario is different, WAP is dead and now plain HTTP rules the mobile world.So we have some old rules which I believe still applies to mobile world and then there are also some rules which are totally new when we think in terms of Performance Engineering.

The strategy for designing for the mobile web site differs drastically compare to the desktop based web application given that applications works in the mobile context with limited amount of resources like screen size,network capacity,Hardware resources etc.The site needs to be lean in design and be accessible on the smallest mobile device with the exact functionality as offered on desktop based web applications.So the end to end strategy for testing mobile based application also differs compare to the desktop based web applications at times throwing unique challenges to the testing team.

It is also important to know and understand the capabilities of the various types of phones available in the market so that we have some idea as what is happening in the client side of the device.Some phones have Cursor based navigation, some phones have focus based navigations and some have touch and some multi touch based navigation.Low end devices normally have cursor or focus based navigation,so users using this focus or cursor based type of device will not normally prefer to have navigation depth of more than 3 links while browsing the site.The same user might browse a little longer in your site with either the tablet of smartphone.So it is fair to expect that page depth of the browsing in case of smartphones and tablets will be somewhat higher compare to Low end devices.This will help us in designing appropriate work load modelling for performance testing.

In this writing, I will try to summarize as what all things needs to be known and collected as part of requirement gathering for performance testing of the mobile web applications.

  • Know your site along with its business domain and benefits it brings to users who are using your site.
  • Know your users and how they use your application in mobile environment.
  • Know the type of mobile device or handset your users uses to access the application.
  • Know the network bandwidth your users uses in their device to access your application.
  • Know the carrier your user uses to access your application.
  • Know how long your users browses your site in the mobile space and collect the page depth of their browsing experiences.
  • Know the type of the mobile browser your users use to access your application in the mobile environment.
  • Know the user’s device’s screen size.
  • Do not trust the web server logs to design the scenario as user behavior is not the same as compare to desktop users.If your business grows ,users multiply exponentially compare to desktop users given that users will be using your site on the move.
  • There is very little or absolutely zero think time concept in Mobile space.Users are not going to wait to click the links unless they are verifying the some information before doing submit.

Sometimes it might happen that we do not have information on these points,in that I would suggest follow the mobile web standards and test taking those standards as your requirements.

Tags: ,

When are you really done with Performance testing

September 6, 2011 by kiranbadi1991 | Comments Off on When are you really done with Performance testing | Filed in Performance Engineering, Process, Project Management

Quite often we are taught that testing is said to be done when we are out of schedule/budget or when we have tested all the business process as outlined in the performance test plan.However my experience is telling me that they are all incorrect way of representing ”done”.I feel these are all more of the constraints imposed on the team for various reasons rather than measuring parameters or milestones.

Performance testing is done only when we have communicated our finding to all stakeholders which includes all our good and bad results.If we have some failures during execution,it makes more sense to access the impact of those failures in production and communicate these findings to all relevant stakeholders and get their signoff on these findings.If for any reasons,performance team is not aware of the impact, then they should ask the impact to the relevant concerned stakeholder before providing signoff.

A very small number of errors cannot be measuring criteria for closing the execution cycle.Years back I did use to accept less than 5% error count as acceptable criteria for closing the execution cycle however as I gained some more exposure I realized there were lot of other factors which also needs to be accounted for in addition to less than 5% errors.So today I feel  criteria for done is to access the impact of any leftovers unresolved errors and communicate these finding to all and get their signoff.

Tags: , , ,

Processes When to follow and When not to follow..

May 27, 2011 by kiranbadi1991 | Comments Off on Processes When to follow and When not to follow.. | Filed in Development, Process, Project Management, Quality

Processes sometimes helps and sometimes do not help. There are situation which require process improvement and there are also situation where by following process in itself becomes a bottleneck. Blindly following the processes means that we are wasting valuable time and energy without understanding or knowing that process is indeed bringing any value add on to the table.

There are lot of situation where processes bring value add to the table, some of them are Release management processes, Environment Management Process, Testing Process, Estimating and costing processes. However sometimes these same process can become a bottleneck in certain conditions like releasing the product to the client to meet his time demand without fully educating him about risks or bypassing the development team in all together to troubleshoot the key critical issue like high CPU usage or memory issues, just because the environment where the error shows up is owned by the Environment team.

Sometimes there are cases where by following the process in itself consumes lot of time and later on people understand that issue which they are triaging do not belong to them and so cannot be solved by them. However they are bound to work in those areas for sometime for the reason that they own that functional area. Sometimes people use processes as their tool to defend/avoid/initiate activities which can or cannot bring positive results to the project.

Sometimes in large companies, due to various reasons people follow processes very strictly but again just because we work in large companies do not necessarily mean that we should not check for any value add. If involving development team in early stages helps to fix the issue quick and fast, then it makes more sense to take their help and fix the issue rather than wait for environment folks to do some trial and error and come out with fix. Look at the amount of time we are losing here.

So the best way to judge whether the process is bringing any value add to the table or not is to ask self questions like Will following this process xxx do my job faster or I still have some other better options to explore ? If your answer is yes, then I suggest go ahead and show that you can indeed bring value to the table. Saving project time is also a good value add.