Automated Testing Across All Smart Devic...

Posted on

The phenomenal growth of mobile devices has opened up avenues for organizations to integrate them into the mainstream computing environment. Today’s mobile applications deliver complex functionality on platforms that have limited resources for computing. Yet, unlike the PC-based environment, the mobile environment comprises a plethora of devices with diverse hardware and software configurations and communication intricacies. This diversity in mobile computing environments presents unique challenges in application development, quality assurance, and deployment, requiring unique testing strategies.

There are a lot of distinctive challenges in mobile testing:

  • First of all, we need to test our mobile application or website on various types of mobile devices, such as Blackberry, iPhone, iPad, Android phone, etc. They are from different providers, with different models and different user interfaces.
  • Secondly, we need to integrate with our QA facilities and support testing on both internal and external mobile applications.
  • Finally, not only do we need to perform functionality testing, but also we need to conduct User Experience Testing, performance testing, etc.

Traditionally, we had two choices for mobile testing. One is manual testing on real devices, and another is testing on emulators. Yet neither of the two solutions can solve these problems well. For example, manual testing on all types of real devices is very time-consuming, so it is not repeatable from a practical standpoint. Emulators support part of testing automation, yet this is not a good solution for User Experience Testing or performance testing.

DeviceAnywhere provides the industry’s only enterprise-class platform for testing and monitoring the usability, performance and availability of mobile apps via hardware-based appliances wired into a standard mobile device with no software installed on the device. It allows remote access to a mobile device for manual or automated testing via its hardware-software mixed solution:

Devices are put in DeviceAnywhere’s data center, and all the components, such as LCD, keyboard, touch screens, camera, speaker and battery are connected to PC servers with some special hardware. By using an innovative device interaction technology called Direct-To-Device, it builds a software abstraction layer on top of these real devices.

Using DeviceAnywhere Studio client we can remotely access any real devices and perform almost any actions just like we have the device in our hands. They look like emulators, yet they are all real devices.

These are some key benefits of the DeviceAnywhere solution:

  • Hardware-based solution does not affect the operation of the device in any way. Management software provides convenient device access. Provides the ability to test mobile applications and infrastructure with physical mobile devices and cellular carrier network connectivity.
  • There is no limitation on testing applications. We can create executable test scripts that remotely press device buttons, install software, reboot the device, connect/disconnect batteries, open/close flip phones, or operate any hardware control available on the device.
  • DeviceAnywhere provides web-based reporting interface and not only allows you to view test results, but also records all test steps screen-by-screen. Therefore, you can review and analyze test results at a later time, as well as share the findings with colleagues.
  • It supports some graphical workflow, allowing testers to easily create an automation script. And it also supports complex data-driven testing by using Java language or through integration with QTP.
  • Solution supports a wide range of mobile devices including recent RIM Blackberry devices, Apple iPhone, and iPad.
  • Supports automated regression testing of all supported devices including firmware updates and installed applications.
  • Provides the ability to remotely access a mobile device for manual testing, or GUI-driven scripting. Image library allows some script reuse. Java API and QuickTestPro plug in allow more advanced data-driven scripting.

 For more information about this technology please visit www.deviceanywhere.com

Post a comment

Avoiding Common Interview Pitfalls

Posted on

You’ve invested a lot of time in your job search – updating your resume, posting online, networking, applying for open positions.  Finally, your efforts have paid off – you are invited for an interview.  Don’t panic!  Here are a few tips to ensure that your interview is a successful experience.

  1. Although it’s normal to be nervous during an interview, it is important to appear calm and self-confident, keeping your anxiety at bay.  Be careful, however, not to appear overly casual or familiar with the interviewer, as this may not be well perceived.  Be sure that your body language conveys confidence, respect and attention to the interviewer; sit straight, maintain eye contact, listen intently, nod in acknowledgement and smile genuinely. 
  2. Refrain from answering interview questions with canned responses found online.  Although there are endless resources available to steer job seekers through the interview process, use sample interview questions and answers only as a guide.  Recruiters have seen all the same websites and heard these answers many times over.  What an interviewer wants to hear from each candidate is their own professional experience supported by relevant examples.  Therefore, there is no substitute for careful preparation.  Take the time to refresh your memory about your past experience and be prepared to speak as a Subject Matter Expert about what you have accomplished professionally and provide explanations detailing how you did it. 
  3. Practice answering common interview questions so you can express yourself clearly, but do not try to memorize answers word-for-word.  Instead, be prepared with a multitude of situations from your professional experience to offer as examples of how you apply required skills on the job (e.g.: business judgement, logic, creativity, time management, multi-tasking skills, etc.) The more successful you are in speaking about your accomplishments, rather than reciting memorized text, the more natural and free-flowing the interview will be. 
  4. Refrain from discussing anything personal during interviews.  A good rule of thumb: If it doesn’t relate to the job, don’t bring it up. When you are asked to tell the recruiter about yourself, it is not an invitation to reveal your life story.  By asking this question, the interviewer is looking for a summary of your professional experience, which should be communicated in 2-3 minutes.  One recommended format is to start with your earliest experience and work your way up, briefly describing each job and key responsibilities.  This gives the recruiter a clear overview of your experience and career progression.   
  5. In the early stages of the interview process, focus on what you can offer the company, versus what you want.  Your goal at this point is to secure the potential employer’s interest in you.  Accomplish this objective by familiarizing yourself with the company, industry, its business challenges and objectives prior to the interview.  This will put you in a position to present your experience in a way that is aligned with the company’s goals.   If an offer is extended, you will then have some leverage to negotiate your points of interest. 
  6. Never express negativity when speaking about your previous jobs.  Maintain professionalism at all times; do not criticize, complain about or appear ungrateful towards your past employers.   
  7. Allow enough time for the interview, taking into account that it may run longer than expected.  Assuming things go well, you may be asked to meet others on the spot.  Be sure to keep your schedule clear for several hours following the scheduled appointment in case you are invited to stay longer.   
  8. Turn off your cell phone and anything else that may disrupt the interview.
Post a comment

Strategies for Setting Yourself Apart in...

Posted on

Here you will find the recommendations of our instructors as to how you can convince your potential employer that you are the best candidate for a particular position. In our previously posted article, we covered general professional skills. This article is concentrating more on technical skills per position type:

Quality Assurance (by Tanya Varshavsky)

QA is a very unique specialty, which is often underestimated.  From my own experience, employers look for candidates who demonstrate the following:

- a feeling of ownership with regard to the project/application

- excitement in describing previous jobs in the field and about QA in general

-ability to work within the team and with other teams, finding common ground with diverse groups of people

-initiative and ability to self-manage

-resourcefulness in the search for the right technical solutions

Specific technical expertise required for a QA role might vary between companies, depending on the technology used and specific project needs. Without the required technical knowledge, a candidate wouldn’t even be brought to the interview. In order to be the “best candidate,” however, you need to convey more than technical knowledge — the feeling that no other job will satisfy you! Many times, when this question is asked of former developers, their answers demonstrate whether they look at QA as a temporary solution or as a life-long passion. One might know QTP or some other tool, but sometimes it cannot be used for a particular project, and one needs to be able to do extensive R&D and come up with a solution to automate or simply identify a way to test the application. My former manager, for example, looked for ‘strong analytical skills’ as an indication of future success in this role.

Some other important technical skills that hiring managers are looking for are:
1. Knowledge of SDLC methodology, best practices and industry standards that can bring a lot of value to the firm and make the testing process cost effective.
2. Understanding of web architecture that will enable you to identify issues during the early testing stages.
3. Experience with automation of different applications and strong analytical skills, which help solve almost impossible technical tasks fairly quickly.
4. Experience testing similar applications/systems using similar tools, resulting in minimal time to ramp up and bringing value almost immediately.
5. Involvement in IRT and ORT that enabled consolidation of test procedures & systems.

The above points will make a strong impression only if they are supported by enthusiasm and passion about the job, as described in the beginning of this article.

Project Management (by Leon Kirshtein)

Projects vary by industry and even within an organization, but every project would expect a Project Manager to ensure that scope is delivered in accordance with deadlines, budget and quality standards. Quite a lot of coordination is required to accomplish these goals. Therefore, any technical skills which enable more effective  communication are beneficial. With this in mind, knowledge of Excel, Word, Visio, SQL, and some sort of project management software, such as MS Project, will go a long way to prove that you are the best qualified person for this position, and are ready to ‘run with the ball,’ once given the opportunity.

Communication is 90% of the job!

Business Analysis (by Irina Brekhman)

Since a Business Analyst is a communications middleman who has extensive daily interactions with virtually all project stakeholders, excellent verbal and written communication, as well as consensus-building skills, play a very big role in candidate selection. Other important and more technical skills would include:

  • Understanding of various requirements types and clear vision of how requirements can be structured to best serve the needs of the business, as well as technical audiences.
  • Visual modeling skills (UML and data modeling).
  • Ability to demonstrate a portfolio of various types of projects where requirement analysis and documentation skills were applied.
  • Familiarity with Agile methodologies and solid understanding of how requirements elicitation and analysis phase affect the overall IT cycle.
Post a comment