Featured Posts (68)

Sort by

The mobile network is growing rapidly. Mobile Software now comprises all types such as from video up to mobile banking apps. We all know that testing mobile app is a rather intricate process.

There are numerous programs and Operating Systems, kinds of testing situations, and many different network connections and carriers in the picture for mobile applications.

Android & iOS are the most popular cellphone operating systems. There are millions of programs designed for these platforms which need to be tested.

What is Mobile Software Testing?

Mobile Software Testing is the method where software developed and designed for mobile devices (smartphones, tablet PCs or telephones ) are analyzed for its functionality, consistency, and usability.

Mobile Testing drops in the following categories:

Functional Testing: Fundamental Kind of Testing used to test functionalities of this program according to requirement specification

Performance testing: Performed for testing customer application performance, server performance, and network functionality

Memory testing: Mobile devices include restricted memory as compared to computers, this Kind of testing is done to Check the enhanced memory usage by an application

Interruption Testing: Employed to check interruption Because of incoming call or SMS, low memory warning, low battery warning etc when running the program

Setup Testing: Setup Testing is used to check for the easy and smooth installation process includes updating and simplifying too

Usability Testing: As always it used to check the efficacy, effectiveness, and satisfaction of application

Categories of Mobile Automation Testing Tools:

  • Greatest Mobile App Testing Tools
  • Cloud-Based Mobile Testing Tools and Services
  • Mobile App Distribution and Crash Reporting Tools for Developers
  • Mobile Performance Testing Tools
  • Mobile Emulators to Test Websites Online on Mobile Devices
  • Mobile Optimization A/B Testing Tool
  • Mobile Defect Logging and Test Management Tool
  • Mobile App Testing Services and Service Providers

Best Mobile Testing Tools 2020

Mobile app testing can be automated or manual. There are several mobile test automation applications utilized for this, maybe not all but a few of them are listed below according to popularity and usage.

Here we go. .

#1) TestComplete Mobile

With TestComplete, it is possible to make and run repeatable and robust UI tests across native or hybrid mobile apps.TestComplete includes support for Android and iOS apparatus.

  • Automate your UI tests on actual mobile devices, virtual machines, or emulators. With TestComplete, there is no requirement to jailbreak your telephone or tablet.
  • Utilize script-free document and replay actions to make automated test scripts or choose from programming languages like Python, VBScript, JScript, or JavaScript.

#2) Ranorex Studio

Ranorex Studio is an all round solution for mobile program testing. Used by over 4,000 companies worldwide, Ranorex Studio is simple for novices using a codeless click-and-go interface and helpful wizards, but powerful for automation specialists with a complete IDE. Supports iOS and Android testing, such as native cellular programs and mobile web apps.

Features include:

  • Reputable object identification, also for web elements with lively IDs.
  • Shareable item repository and reusable code modules for efficient evaluation creation and decreased maintenance.
  • Evaluation on real devices without jailbreaking
  • Run cross-device evaluations in parallel or use Appium WebDriver for cellular web tests
  • Customizable evaluation report with video reporting of test execution -- see what occurred in a test conducted without needing to re-run the test!
  • Integrates with programs such as Jira, Jenkins, TestRail, Git, Travis CI, and more.
  • Website link: Start Your Free 30-Day Trial Of Ranorex Studio

#3) Experitest

Experitest: Accelerate mobile testing cycles and boost the quality of your releases with high-volume automated android testing

  • Produce & implement hundreds of automated tests in parallel to real Android devices in the cloud
  • Easily make your first Appium evaluation
  • Run advanced mobile test automation directly from your IDE
  • Automate any type of application, gesture, and situation
  • Integrate with your CI/CD applications and workflow
  • Automated mobile testing under real-life conditions
  • Incorporate into almost any IDE, testing frame & CI for rapid application delivery
  • Access visual test reports and innovative analytics

#4) Test IO -- Solving Your Mobile Testing Requires

Test IO is a leading SaaS platform for applications crowd testing: the constant testing of web and mobile applications by skilled human testers using actual devices. We understand the issues you will face in rigorously testing quality mobile apps, so let us help.

  • Test on actual devices -- Expand your policy to hundreds of devices, platforms, and real people in real-world conditions. Make sure your software works on iOS, Android, and each OS version.
  • Get feedback from actual people -- Our specialist testers have unbiased and fresh eyes on your goods. Testers find bugs that your internal team might not catch.
  • Release quicker -- Human-powered doesn't mean slow. Remove the QA bottleneck with in-built, flexible testing that scales up with your needs.

#5) Kobiton (iOS And Android Device Cloud)

Kobiton is a portable device cloud system that offers access to real devices for running manual and automated tests on native, net and hybrid Android/iOS apps

  • Constructed on top of this Appium open-source framework
  • Continuously adding the latest hardware and OS updates into the apparatus lab
  • Evaluation across apparatus without script modifications
  • Automatically generated activity logs, commands, screenshots, and metadata allow for faster identification of issues
  • Prepaid minutes of testing period that never expire.

#6) Robotium (Android)

Robotium is an Open-Source library designed specifically for Android UI testing

  • It is an Android test automation framework provides support for hybrid and native apps
  • It's used for automated black box testing for Android program with TestDroid Recorder and utilizes JavaScript to prepare test scripts
  • With the test scripts, in Addition, It enables writing function, user and system acceptance test scenarios
  • System Prerequisites : Android SDK, Eclipse for constructing the Exam project, ADT (Android Development Kit), JDK (Java Development Kit), Latest Robotium Jar file

#7) Calabash (Android and iOS)

Calabash is an automated acceptance testing framework preserved by Xamarin and Calabash consisting and may be contrasted with Selenium Web Driver

  • It's used to perform Automated Functional Testing for cellular native programs
  • It consists of 2 open-source libraries for example you for Android and yet another for iOS for testing hybrid and native apps
  • It may provide the APIs for technical for touch screening encounters
  • It works well with Ruby, Java, .NET, Flex and Several other programming languages

System Requirements:

  • Calabash needs Ruby 2.0, or even higher. OS X Mavericks comes with Ruby 2.0 installed.
  • Calabash does require some knowledge of the bash prompt and Terminal. It will be necessary to update the document ~/.bash_profile.
  • IOS devices should have the Xamarin Test Cloud Agent installed.

#8) Appium (Android and iOS)

  • Appium is an Open-Source instrument for monitoring of native, mobile and net as well as hybrid programs on iOS and Android platform
  • It is good for programs which are written in Android or iOS SDK
  • Appium supports Safari on iOS along with the Rest of the built-in browser programs around Android
  • No need to change any app code for testing as It's suitable to run on Android or iOS using the device or emulator
  • This tool is also used for Automated Functional Testing of Android and iOS mobile apps

#9) MonkeyTalk (Android and iOS)

MonkeyTalk automates functional interactive tests for both Android and iOS apps

  • It is an open-source application consist of three components like IDE, Scripts, and brokers
  • IDE produces test scripts using playback and record, Agent is an evaluation instrumentation library connections with the app and Scripts include keywords, syntax, along with Java execution engines
  • Everything from small"Smoke Tests" to the tough data-driven test suits for indigenous, hybrid and on-line programs

System Requirements:

  • The PC running the MonkeyTalk IDE as well as also the device running the program under test has to be on the same wifi system
  • Eclipse
  • The source code of this program
  • Android SDK

#10) iOS UI Automation(iOS)

IOS UI Automation is Apple's open-source test automation framework specifically for iOS programs

  • helps automate interface tests through test scripts
  • JavaScript programming interface is used to specify actions to be performed on apparatus UI
  • It Doesn't work well with other tools, methodology, and frame as it is a proprietary instrument
  • It helps to reduce behavioural attempts and time needed for software product creation

System Requirements:

  • IOS SDK (4.0+) installed(latest one is recommended)
  • 4.x simulator/device
Read more…

Performance testing is performed to check an application’s speed, scalability, and reliability. It determines a system’s speed and degradation with different configurations under both controlled and uncontrolled scenarios. It highlights what needs to be improved in an app before it is launched into the market. Thus, organizations consider performance testing services worth it and invest without hesitation. 

Tips for Effective Mobile App Performance Testing

Performance testing can be carried out in different ways, but the main objective of this process remains the same. Following are a few guidelines for performance testing of mobile apps:

1. Test Planning:

Once performance testers are ready for testing, they begin with a proper test plan and check all the available resources for testing. The performance test plan describes the overall strategy to complete the mobile app testing successfully. 

2. Test Environment:

Testers need to ensure they identify all the software, hardware, and network configurations required in the test environment to enable a smooth process. It allows development teams and testers to identify all the performance test errors at an earlier stage in the development process. During performance testing services, testing teams set a proper environment to achieve their objectives. 

Types of testing Environment:

  1. Replicate production system
  2. Actual production system
  3. Production system with a few servers with low specifications
  4. Production system with a few servers with the same specifications

3. Define Formats for Displaying System Usage:

It is important for testers to define the necessary formats needed to measure the performance of an application. A few of which are:

Task Distribution Diagram - It provides information on the number of users required for a particular process and the time taken to load. The peak and off usages can be determined through this step.

Transaction Profile Sheet - It provides information about the transaction names, a summary of transactions at a particular point of time, screen navigation, etc. 

User Profile Diagram - It highlights the user load time and pages accessed by different users.

4. Deciding What to Test First:

The following are a few factors for deciding which process needs to be tested first. It is essential as it guides the total performance testing process:

  • High business risk processes are tested first
  • The most frequently used processes are tested
  • Peak usage hours of an app are analyzed
  • Peak days of the month, quarter and year
  • Linked processes
  • Resource intensive processes

5. Documenting

Testers use documentation to obtain information for virtual users such as user actions, expected results of each action, input data fields, and valid data for input. By identifying these details, there will be a clearly defined scope for performance tests against each user action. 
When performing performance testing services for a mobile application, the above-mentioned tips can help testers work like a pro. It is important to follow a few guidelines to steer testing in the right direction for achieving performance benchmarks and meeting the user expectations under various user loads. A performance testing firm ensures that all tools and processes are used to deliver what users expect from an application.

Read more…

Why you need to perform integration testing

Integration testing is an intermediate stage between modular testing and system check-up. In the process of software testing are arranged and studied in complex. As a rule, smaller modules are integrated into bigger ones. The purpose of such integration of several modules into one group is to check whether these units meet functional and acceptance criteria. The testing itself is done with the help of the so-called “Black box” method when there’s no access to product’s source code.

Pretty often, integration testing is compared to modular testing which helps to assess the correct performance of separate modules of product’s code. The difference between modular and integration testing lies in their goals, and, as a result, in the methods they’re carried out with.

Thus, when we do integration testing, the emphasis is made on the analysis of interaction among interface objects. Such integration testing is done on two levels: component and system ones. The first level, component level, assesses system components behavior by the results of component testing. Accordingly, on a system level a testing specialist checks interaction among the systems by the results of system testing. As a rule, two ways of merging modules in groups are singled out:

  • Monolithic (when all system modules are merged simultaneously);
  • Incremental (when system modules are merged step by step).

Incremental way has two approaches to modules merging:

  • Descending testing: at the first stage, modules of higher level are checked. After that, they are gradually merged with low-level ones. In the process of testing low-level modules are replaced with the so-called plugs with the same functionality. Later, these plugs are replaced with real low-level modules.
  • Ascending testing: low-level modules are analyzed. This method is considered to be more effective when all modules are low-level. At this stage of testing it is possible to assess the level of readiness of the product under testing.

The results of integration testing can show mistakes in the process of module merging. In order to avoid them, a test plan if testing separate modules is made. After testing separate modules, they can be merged based on the peculiarities of their testing.

Read more…

""Apple has unveiled the  ios 10 at annual Worldwide Developers Conference (WWDC) 2016 earlier. Tonight Apple may announce official launch of iPhone 7 and iOS 10 along with some other announcements.

The new Iphone beta iOS 10 includes dozens of major new features and it  is moving steadily with the development of iOS 10. There are plenty of new features  including upgrades to the siri voice assistant, photos, maps and - my personal favorite - the ton of new ways to interact with friends using the message app. we may find a number of cool features that just about every Apple fan is going to love.


Which devices will run iOS 10?


Any iPhone 5 and newer will run Apple iOS 10 along with most recent ipad. Feature that use 3D touch for pressure sensitivity will only work on the iphone 7.

What features are bundled in iOS 10?

Advanced lock screens:

 iPhone 6S users and those keen to adopt the next iPhone will get the most out of the new system. Users will be able to pop in to notifications from the lock screen and respond quickly to messages without unlocking the phone. iOS 10 gives you a bunch of widgets right on your lock screen so you can do more stuff quickly. Apple iOS seems to have learned from Android and added more value the other lock screen.

Interactive messages with lots of fun

Apple is making bigger emojis that are now three times as large as before, and the keyboard can now identify words you can easily replace with emojis via a single tap on each word.Expressions don't stop there. There'll be bubble effects so you can "say it loud" with a bursting bunch of text, or say something "gently" with slow-to-exist texts. Double tap a bubble to send a reaction.

Siri


The biggest change to Siri seems to be that Apple is opening it up to 3rd-party developers. This means that you'll be able to activate non-Apple apps and functions via voice control. This upgrade might help apple join the growing trend of messenger bots. Integrating siri with third party apps like Uber or Open Table might allow ios users to do things like call a cab or make dinner reservations without having to actually open the app. Siri functionality will likely advance on the iphone as well, possibly with the capability to answer phone calls,  play recorded messages and transcribe voice mails.


New keybord help to save your time:


Apple is " introducing Siri intelligence to the keyboard". New keyboard tricks spare your tired, typing hand. Which mainly manifests itself in the use of artificial intelligence and context cues to offer more suitable and relevant suggestions when typing. New keyboard is pretty handy and a genuine time-saver at the moment. it is going to become more proactive at bringing in data from other apps and offering it as part of your responses. Siri can now anticipate what you might want to do or say and suggest information you may need. If someone asks where you are, it will offer your location as a suggested response; if someone asks for a person's email address and iOS thinks it knows who that is, it will suggest the relevant contact details. There will be support for multilingual typing - in other words, not in just one language or another, but in a blend of the two.

“Memories” are Smarter now


Like Key board, Apple is making a big effort to catch up and has been given an injection of artificial intelligence. Photos can draw together linked photos and videos by place, people and time, and automatically create highlight reels and trip mementoes; Apple calls this 'Memories'. Memories is a pretty cool feature for looking back at key points in your life, especially if you have thousands of photos on your phone. If you click on one of the Memories, it takes you to a photo gallery, while also featuring an automatically-created video (with music) at the top. That was definitely the best moment. Good job, Apple. Ios 10 uses facial recognition software to automatically build album of people places and events. To access it, just pull up your Photos app and click "Memories."

 Maps


Maps gets a new design in iOS 10; which are easier to access for controller like some of the other apps it looked broadly simpler and cleaner. Apple Maps in iOS 10 takes traffic into account dynamically, and offers alternative routes on the fly if traffic makes them preferable. Maps now does more in advance, with the proactive elements we've seen before in iOS coming to the fore. Slide upwards from the bottom of Maps and you get suggested destinations. If you normally go to work at this time, then your workplace will be on there. Another location may be drawn from a calendar appointment for this time.
You can sub-filter when searching for nearby businesses. Fitter for restaurants; then filter for seafood restaurants. And, like many of the other features here, Apple is opening Maps up to developers. Your phone will now automatically tell you exactly where you parked your car with the help of maps. Fortunately, iOS 10 solves this problem by remembering where you parked your car, automatically. Instead of snapping a picture of your surroundings or jotting down GPS coordinates in notes, iOS 10 will remember your car's location anytime you stop at a place other than your home.

Music

As we expected, Apple Music has had a major visual redesign - and to be fair, it looks good. It also gets onscreen lyrics for some songs, although you may have to wait for the lyrics for your favourite song to be added.
Better still, whilst taking Live Photos, your music will continue playing - allowing you to have uninterrupted music sessions.
Everything’s much more clean and navigable, including a new tab for “downloaded music”  and a For You section that provides a new playlist of music Apple thinks you’ll like every single day. Think Spotify Discover, but more frequently updated.

 
News

Apple has added subscriptions in News. This recent addition to Apple's stable of pre-installed apps received a complete makeover, with sections that make it easier to find and read content you're interested in.Now there is also a 'Breaking news' notifications from the app. You can toggle the feature from the app's settings and even custom-tune the publications you wish to see push notifications to your device.


 HomeKit & new Home app

And now a bigger one. Apple is getting serious about smart homes and the internet of things, launching a dedicated app, Home, for controlling all the appliances that are compatible with HomeKit. Although there’s not a ton new to say about it, aside from there’s an actual app now, called Home, from which you can control all of your smart home devices that have compatible apps.  If you open up Home, you'll see all your HomeKit-compatible accessories, no matter which company makes them, and you can easily control them all from one hub. Many of these will have 3D Touch shortcuts: you can force-tap and slide on a dimmer app, for instance, to adjust light levels.  Profiles let you perform a bunch of actions with a single tap, such as setting lights, curtains, air conditioning and security when you leave the house or come home. T
There are some really nice features in Home. One is called Scenes, which is effectively a pre-customised set of adjustments across a range of accessories that you can activate with a single tap or Siri command.

Phone

Apple barely mentioned the iPad when it spoke about iOS 10, and there aren’t a whole lot of updates for the tablet that haven't come from the phone. You can now have two Safari tabs next to each other, which is handy, and if your iPad mainly stays on the sofa at home then you can use it as a hub to control your HomeKit-enabled tech The all-important but often neglected Phone app gets a single big enhancement: voicemail transcription. iOS will convert speech into text so you can glance through a voicemail without having to listen to it. Will be great if it's accurate enough (and remember that it doesn't need to be that accurate, since you're just trying to get the gist; if it's clearly important, you can just listen to the message).

Read more…

Calabash Automation Execution

pCloudy provides automation execution environment to run your Calabash test script of android & iOS and hybrid applications as well.

Here are steps to run Calabash test script over android device:

  • Login over www.pcloudy.com with your registered Email ID & Password
  • Go to the Automator Page
  • Select Android or iOS OS version & Manufacturer
  • Select and add desired device
  • Choose Calabash (to run Calabash test scripts)
  • Select Application .apk/.ipa file (the App to be tested)
  • Select Test Script zip file (the Test Script developed for testing)
  • Enter Single Device execution Time (Time required for the entire script to be executed on single device)
  • Enter Name of your Test Cycle (this name will represent your Test Cycle)
  • Click on Schedule Test Cycle

calabash-test-automator
 
Click on Schedule to confirm schedule of test automation. Here, you can see your selected application, test script, device(s) etc.

calabash-confirm-test-cycle
 
You get a pop up message of test automation schedule confirmation.

Click on OK to proceed.

calabash-test-cycle-scheduling-successful
 
Go to your mailbox and open pCloudy Automation Alert mail.

Click on the given link “Click to view Report”.

calabash-simplest-online-device-cloud
 
Here, you can see result of your Calabash Automation Execution. This directory contains all important information of execution result.

calabash-cloud-automator-report

Read more…

The art of mobile app testing

We all know how rigorous competition in the world of mobile apps is. Naturally, the quality of new mobile product, its functionality and stable work are essential. Comprehensive testing of the app before its public release can’t be ignored or done negligently. Automation of mobile app testing allows checking app’s functionality, safety, integrability, updates, and other important indicators.

As any mobile app has a range of tasks which users relegate to it, it’s important to test app’s correspondence to its business goals and make sure the app shows stable performance under different conditions. To do that, load testing is used which goal is to reveal and forecast the possible scenarios of apps performance under different loads – depending on the number of connected users, volume of information being sent, etc.

In addition, stress testing is used. It show app performance under the highest loads: specialists pay attention not only to what maximum loads can the app resist, but also to time it needs to revert back to normal functioning after lowering loads to usual level.

Software testing automation also comes in handy when you need to do volume testing – in this situation you need to check performance and speed when data volume constantly grows and the app needs to process and keep this data.

Testing results are always detection of errors and bottlenecks which needs to be fixed further on. All detected bugs are reported into special reports. Load testing can also be done manually, not always it assumes automation. By combining manual and automated testing you can check all aspects of a system because sometimes only a human can spot some unusual behavior and vulnerabilities in the system which can be omitted during automation because there was no such task.

Comprehensive testing of a mobile app allows bring the app to a new level, which will surely lead to a positive feedback from users.

Read more…

Android version names have always been in the name of some sweets/desserts. If you take a look on all android versions you can see lots of desserts all around.

Just have a look:

Android Versions

Source: Wikipedia

Traditionally it was google team which was involved in giving appropriate names to these android versions. However first time ever, google has provided an opportunity and asked users to suggest and submit a  name for its upcoming android release,"Android "N".

For android lovers, google has designed a special page in which you can suggest the name for upcoming android version. What you need to do is just:


Android Name N

Woohoo...you are done...Now it is up to google Android Team to decide which tasty idea they really loved :)

Read more…

 

You’re a business guy, brand image and customer delight is your concern!
You’re a technology guy, steadiness in app behavior is your concern!
Both of them are conscious about the performance of the enterprise mobile app?
Want their app to work full-proof and be supremely responsive and intuitive in case of any unforeseen/ unexpected interruptions. Want to guarantee a consistent and stable app behavior to the customers?

What should they do to establish synergy and achieve the desired goal?

The answer is that we need a mechanism to generate random interruptions across the complete application flow to test its behavior in real time and to adjudge its integrity and responsiveness.
In simpler terms, the app should not hang or crash because of sudden pop-ups, network state change etc.
To resolve this, a term namely “Interrupt Testing” came into picture recently.
Interrupt testing is an testing approach which provides a way to simulate real time interruptions like change in network availability state, orientation change etc. so that we can predict, stabilize and enhance the app behavior on mobile.

For interrupt testing we broadly have two options

Generate interruptions manually while the app is on like

1. Keep app in background
2.Moving device out of network or toggle network
3. Manually change the orientation / background
4. Clear app internal data
5. Scroll screen up/down very frequently

Generating interruptions manually for a single device may not be a challenge but problem arises when we are targeting large number of devices of different OS versions. In such a situation, manual efforts are very time consuming and hence is not cost-effective.

To overcome this we need a promising mobile test automation tool that facilitates simulation of automatic interruptions. The one which cover wide number of permutations and test on each of them, rectify them by viewing comprehensive test case results in visual and graphical formats.
mAutomate is a mobile test automation tool which provides you numerous options to test your app with automatic interruptions that actually simulates real time events on your device screen.

Using mAutomate you can test your application for:
I. Connectivity issues on OS versions of devices
II. Pop-up handling!
III. Distortion when you rotate your device
IV. App hang due to interruptions like calls, messages
V.  Clear data
VI. Screen scrolling
VII.Background simulation etc.

Conclusively, you need an awesome tool that can give your app a way to achieve a standard of being flawless and seamless. The tool which can give your brand a spotless stature.

Try mAutomate today for free. Visit http://www.mautomate.com



Read more…

Location: New Delhi (Experitest India offices) 


Requirements: 
- Graduated Computer Science in university 
- Degree: B.E/B.Tech 
- JEE Main CMS 110 or higher 
- 2-8 years programming experience 
- 2-3 years experience in Java 
- Experience in QTP - advantage 
- Start Date:1 Oct 2014 
- Salary: Excellent salary for suitable candidates 


pls email CVs to jobs@experitest.com

Read more…

Continuous Integration. A wonderful concept. Merging all developer working copies of a mobile application code with a shared mainline a number of times a day. The copies are checked, problems are detected early on and easily. However, despite the obvious advantages of such a system, many companies have problems in putting continuous integration into practice effectively. We present here five potential stumbling blocks and ways to effectively prevent them.

                                                             

Don't Let Your Build Spiral Out of Control!

Challenge:

Continuous Integration means dealing with a whole lot of new builds and if your build process is not under control as needed you may find yourself with new builds that has new code checked into it by your developers, resulting in your newest build having errors and changes.

Solution:

In order to avoid this, you can do two things

  1. Mark and promote a candidate build and perform testing on that build
  2. Branch the code and then at a certain fixed point carry out new development on that branch.

Although the latter adds a bit of overhead due to the need to merge the project branch back into the master on occasion, control tools can lessen the pain of merges.

 

Treat Problems from the Root!

Challenge:

Continuous Integration includes carrying out unit tests (that test isolated components), integration tests (that test the way components integrate with each other) and possibly acceptance tests (high-level tests that are customer understandable). The higher level a test, the more likely that it will fail.

Solution:

If the value of the tests starts to be negative in your teams' eyes with talk of ignoring failures, not figuring out why their failing or how to make them successful you need to STOP. Fix the issue by finding the root cause and fixing it. If it can't be prevented, the test is no good. An excellent way to deal with a failing test is to separate it into smaller tests and deal with each, step by step.

As Fast as a…Turtle

Challenge

Continuous Integration of mobile application development projects builds often start out speedy but with time become more complex and before you know it, you can find yourself with a build that takes several hours (in comparison to the several minutes it originally took)! With drawn-out tests the problem is that is something goes haywire along the way, it will take not hours but days to check that the tests passed. In a high-pressure environment this is a recipe for disaster.

Solution

Take care as far as your build time is concerned. For slow-running tests consider overnight end-to-end runs or running tests in parallel. As far as automated GUI checks are concerned, consider if they are truly valuable as part of the build process (such as fast verifications that always succeed).

 

Exploratory Testing is your Friend!

Challenge

One may assume that after carrying out the acceptance tests part of Continuous Integration that your mobile application's code should be ready for deployment. That simply isn’t the case. Bugs could still very well be lurking.

Solution

Passing acceptance tests should be equated with being ready for acceptance by testers. Exploratory manual testing should be the next stage so that those pesky bugs can be plucked out in the magnificent way that only human testers can pluck them out. Automated testing should be considered one side of the mobile application development coin- exploratory manual testing is the other side of the same coin.

 

On the Same Wavelength?

Challenge

Suddenly, you realize that your remote team has a different understanding of what unit tests- they think that unit tests are what your local group refers to as "integration tests". No problems with the code but false errors are getting sent to the local team who spend precious time trying to get to the bottom of a non-existent problem. Oh dear.

Solution

A distributed Continuous Integration setup is fine- just make sure that your teams are on the same wavelength and have the a joint understanding of the commit and build rules.

 

In Conclusion…

Continuous Integration in the production of mobile applications doesn’t start and end at setting up the system. Far from it. The real challenge is keeping the Continuous Integration process running smoothly over time as it grows and grows. The daily build challenge that we've dealt with for years is even larger once Continuous Integration stepped onto the scene. Just remember- you want to keep it as repeatable, fast and simple as possible.

 

 

Read more…

Become a Mobile QA Zone core Team Member

Are you enthusiastic and passionate about Mobile App Testing? Do you want to share your work in Mobile Testing & would like to get recognized for it? Mobile QA Zone is providing opportunity to become a core members of MQZ  to all its members.

You can become a Core Team Member of Mobile QA Zone if you can do anything of the following:

  • If you are able to write some good stuff around mobile testing which is of your own
  • If you can plan and promote activities for MQZ Members
  • If you can take some Live sessions for MQZ members related to Testing
  • If you can work on any creative Idea that will help all members
  • If you can Explore Mobile Test Automation tools and provide your findings
  • If you can Participate and promote the activities run by MQZ.
  • If you can Participate in Small Meet Ups
  • If you can help spread Mobile QA Zone all over the world.
  • If you can do anything else? (Let us know)

Becoming Core Team member will provide you opportunity to:

  • Highlight your work before whole world and especially before Mobile QA Zone
  • Place on a Core Team Page on Mobile QA Zone
  • Badge of Core Team Member
  • Opportunity to learn new things in Mobile Testing
  • Part of any initiative that runs on Mobile QA Zone.
  • Rights to edit contents on Mobile QA Zone

How to Nominate:

-You can nominate yourself as a Core Team Member by filling this form here

-The core team would be finalized after discussion with the applicants.

- Last date of nomination is 28th Feb

Read more…

Basic Security testing Checklist

HI friends

while making a checklist for security,with my experience i have prepared a short checklist for security testing kindly share ur comments and list out any features/list left by me .

Generic

  • For All web pages which carry confidential data like password, Secret answer for security question should be submitted via HTTPS(SSL).
  • Password & security answer needs to be masked with input type = password.
  • Server Side Validation for form. Use “Firebug” and “TamperData” to perform this test (You can tamper for minimum length of password, set only new password without old password >> You got to remove the old password element from Firebug from the client-side and then submit it <<)
  • Check for SQL Injection for any page in your application that accepts user-supplied information to access a database.
    • A login form, signup form, or “forgot password” form is a good start.
    • A dynamic page that uses URL variables such as ID (product information pages are good for this).
    • Check for XSS by searching application for a page that takes user input and outputs it directly to a webpage. Common examples: Forums, Comments, Wikis, Review. Also, check for CSRF.

 

Password

  • Set of rules for setting a password should be same across all the modules like Registration form, Change password, and Forgot password. If these rules differ than hacker might exploit it through brute force method. Example: If the registration form does not validate for password minimum length as 8 chars but while changing password from user profile it validates for minimum length or vice versa. Now, as registration form accepts password which are less than 8 chars it becomes easy for hacker to apply brute-force method.
  • Password enforcement of alphabets + numeric + special characters should be used in order to protect the account to a greater extent against brute force attack mechanisms.

 

Forgot your password

  • There need to be a restriction on number of forgot password requests sent per day or in “X” hours interval or have a captcha so that automated requests are not sent (To automate the requests  you could use “ReloadEvery” add-on which is to be used on http://example.com/user/forgot-password/)
  • The URL has to expire on one use after being used to set new password.
  • The token associated with the URL should not be guessable or there should be any pattern which could be easily cracked.
  • If the URL is not used within “X” hours then it has to expire (Example: Once the URL is generated, if it is not used then it has to expire after “72 hours”)
  • When new token is generated the old ones should expire even if they are not used.
  • Example.com should not send the password via e-mails by resetting automatically. There has to be URL which should be used by end-user to set new password of his / her choice.
  • While typing secret answer in Forgot Password the secret answer needs to be masked (Secret Answer is also part of authentication which is similar to password, shoulder surfing or auto-complete stuff could be dangerous here compromising the end-user account).
  • Once the password is set, you might want to take end-user to logged in state or requesting him / her to login now with the hyperlink (I, personally would recommend taking to login page and requesting him / her to login with new password)

 

Registration Form

  • There needs to be a CAPTCHA so that spam bots do not register and spam in discussion forums with illicit content which could be frustrating for your genuine end-users.
  • Tamper with the mandatory fields by trying to register without mandatory fields – This is a server-side validation (Add-on on Mozilla Firefox – Tamper Data) Example: Can anyone bypass acceptance of terms of conditions and proceed with registration? This could be applied for all the forms and this test idea will not be repeated in other forms.

 

Change Password

  • Once the password is changed successfully. User should not be able to login again with his old password but, with his new (changed) password.
  • Login using the credentials on Mozilla Firefox | Login with the same credentials on Google Chrome | Now, change password for the account in Google Chrome | After this, refresh or try to navigate to some webpage which are allowed to be navigated only by logged in end-users | Result: The end-user in Mozilla Firefox web browser has to log out as he / she is in the session which has old password

 

Security Questions & Secret answer

  • Frame the security question in such a fashion that they are not obvious to be known (What’s your pet’s name? >> Now, is that secret and no wonder we see such questions in famous web applications). It would be good if user is provided with option of choosing customized security question.
  • Secret / security answers should be stored in database as hashes and not plain text.

 

 

Session Management

  • User whose activity is idle for some time should be automatically logged out by expiring his session. (Example: User has gone out to fresh room or to have some snacks without logging out. Now, anyone can come to his system & see the user account open & exploit user account.
  • No confidential details like password should be saved in cookie.
  • Check what information cookie carries & try to tamper with it using Mozilla add-on Tamper Data.

 

Captcha

  • Captcha characters should not be displayed in cyclic fashion.
  • Captcha images should not be allowed to download at one time using add-on like “DownThemAll”
  • Use http://free-ocr.com/ to see if captcha could be deciphered.
  • Every refresh of a webpage should display new captcha every time.
  • Do not show the absolute path names of the captcha that is being displayed because it is easy to put assertions identifying the URL and then entering the according characters to pass the captcha.
  • I personally insist on using Google reCaptcha for your web application because it has not been cracked till date. There are many captcha third party services out there but, I do not recommend those.
  • Usage of question and answers type of captcha in textual format is good but, not good enough.

 

Read more…

Make sure that your mobile applications are truly Christmas-ready- there could be nothing worse than an enterprise's application failing them on the most critical days of the year. Start working now and make sure that your enterprise won't be in the embarrassing position of offering items for incorrect prices (hello American Airlines) or even chasing away customers completely by them not being able to access the application…

The temperature is dropping, the days are getting shorter and the festive lights are already sparkling in the shopping centers and malls. The winter holiday season is clearly on the way and to get an idea of what stores are getting ready for consider the following- the National Retail Federation reports that for some retailers the holiday season can make up as much as 40% of annual sales while Adobe Systems predicts that Cyber Monday 2013 spending will top an incredible $2.27 billion- the highest US online shopping day ever.

In the beginning of September 2013, the software analytics company, New Relic, posted information regarding, "the background workings of a mobile app," based on the billions of metrics gathered by them on a daily basis. Astonishingly, they announced that the average response time for a mobile application is a lazy 3.28 seconds, 2.28 seconds more than the optimum timeframe of roughly 1 second. Furthermore, there is a 1.86% average network request failure rate per minute per app and a 1.7% average server error rate per minute per app.

We believe that the following points provide some useful direction for enterprises wishing to ensure that their application(s) will serve them as needed in the winter holiday season.

Load Testing

Load testing should be carried out on your mobile application before peak time so as to ensure that your mobile application can deal with the heavy traffic that is an inevitable part of the festive season. Surely, you don’t want your enterprise to be 2013's ClickFrenzy?

 

Transaction Process Testing

All sub-operations making up the transaction process on your mobile application should be running smoothly. Atomicity, consistency, isolation and durability (the ACID test) should all be taken seriously into account and thoroughly tested.

Device Matrix

A device matrix is your way to ensure that each and every version of devices that support your application are tested. Don't forget to make sure that you have device matrixes for different geographical locations so that your enterprise's application is stable no matter where it is used in the world…

Benchmarking

Stephen Phillips, market research expert, explains that, "Businesses need to spend more time…looking at what their competitors are up to…" We suggest quantifying what is going on with your mobile application relative to your direct competitors.

Timing

Timing is an important consideration for enterprises wishing to release the festive version of their mobile application- on the one hand, there is the incomparable effect of the surprise mode, yet a soft launch may be the way to not find oneself in a whole lot of system dysfunctions due to overload. Before committing to a certain time schedule, an enterprise should make sure that their mobile application is more than ready to face the festive buying madness.

Experitest (http://experitest.com/) is the provider of tools for mobile test automation, manual testing and monitoring, supporting all mobile OS: iOS, Android, WindowsPhone8 and Blackberry.
Its test tools plug-in to all test environments including UFT/QTP/QC, Visual Studio/MSTest/TFS, Rational (RFT), TestComplete, Junit, Perl and Python.
Experitest is a HP Gold Partner (and its tools are HP Certified applications) and Microsoft VSIP partner (and its tools are Microsoft certified).
Experitest's customer base includes Fortune 500 companies (including Barclays, Verizon, BSkyB, Orange, China Mobile, DoCoMo, McAfee, TexasInstruments, Qualcomm, Cisco, Intel, Marvell, Motorola and many more) and 7 of the 10 leading worldwide banks.

Read more…

How the Google+ Team Tests Mobile Apps

How the Google+ Team Tests Mobile Apps

by Eduardo Bravo Ortiz 

“Mobile first” is the motto these days for many companies. However, being able to test a mobile app in a meaningful way is very challenging. On the Google+ team we have had our share of trial and error that has led us to successful strategies for testing mobile applications on both iOS and Android. 

General 

  • Understand the platform. Testing on Android is not the same as testing on iOS. The testing tools and frameworks available for each platform are significantly different. (e.g., Android uses Java while iOS uses Objective-C, UI layouts are built differently on each platform, UI testing frameworks also work very differently in both platforms.)
  • Stabilize your test suite and test environments. Flaky tests are worse than having no tests, because a flaky test pollutes your build health and decreases the credibility of your suite.
  • Break down testing into manageable pieces. There are too many complex pieces when testing on mobile (e.g., emulator/device state, actions triggered by the OS).
  • Provide a hermetic test environment for your tests. Mobile UI tests are flaky by nature; don’t add more flakiness to them by having external dependencies.
  • Unit tests are the backbone of your mobile test strategy. Try to separate the app code logic from the UI as much as possible. This separation will make unit tests more granular and faster.


Android Testing 

Unit Tests 
Separating UI code from code logic is especially hard in Android. For example, an Activity is expected to act as a controller and view at the same time; make sure you keep this in mind when writing unit tests. Another useful recommendation is to decouple unit tests from the Android emulator, this will remove the need to build an APK and install it and your tests will run much faster. Robolectric is a perfect tool for this; it stubs the implementation of the Android platform while running tests. 

Hermetic UI Tests 
A hermetic UI test typically runs as a test without network calls or external dependencies. Once the tests can run in ahermetic environment, a white box testing framework like Espresso can simulate user actions on the UI and is tightly coupled to the app code. Espresso will also synchronize your tests actions with events on the UI thread, reducing flakiness. More information on Espresso is coming in a future Google Testing Blog article. 

Diagram: Non-Hermetic Flow vs. Hermetic Flow


Monkey Tests 
Monkey tests look for crashes and ANRs by stressing your Android application. They exercise pseudo-randomevents like clicks or gestures on the app under test. Monkey test results are reproducible to a certain extent; timing and latency are not completely under your control and can cause a test failure. Re-running the same monkey test against the same configuration will often reproduce these failures, though. If you run them daily against different SDKs, they are very effective at catching bugs earlier in the development cycle of a new release. 

iOS Testing 

Unit Tests 
Unit test frameworks like OCUnit, which comes bundled with Xcode, or GTMSenTestcase are both good choices. 

Hermetic UI Tests 
KIF has proven to be a powerful solution for writing Objective-C UI tests. It runs in-process which allows tests to be more tightly coupled with the app under test, making the tests inherently more stable. KIF allows iOS developers to write tests using the same language as their application. 

Following the same paradigm as Android UI tests, you want Objective-C tests to be hermetic. A good approach is to mock the server with pre-canned responses. Since KIF tests run in-process, responses can be built programmatically, making tests easier to maintain and more stable. 

Monkey Tests 
iOS has no equivalent native tool for writing monkey tests as Android does, however this type of test still adds value in iOS (e.g. we found 16 crashes in one of our recent Google+ releases). The Google+ team developed their own custom monkey testing framework, but there are also many third-party options available. 

Backend Testing 

A mobile testing strategy is not complete without testing the integration between server backends and mobile clients. This is especially true when the release cycles of the mobile clients and backends are very different. A replay test strategy can be very effective at preventing backends from breaking mobile clients. The theory behind this strategy is to simulate mobile clients by having a set of golden request and response files that are known to be correct. The replay test suite should then send golden requests to the backend server and assert that the response returned by the server matches the expected golden response. Since client/server responses are often not completely deterministic, you will need to utilize a diffing tool that can ignore expected differences. 

To make this strategy successful you need a way to seed a repeatable data set on the backend and make all dependencies that are not relevant to your backend hermetic. Using in-memory servers with fake data or an RPC replay to external dependencies are good ways of achieving repeatable data sets and hermetic environments. Google+ mobile backend uses Guice for dependency injection, which allows us to easily swap out dependencies with fake implementations during testing and seed data fixtures. 

Diagram: Normal flow vs Replay Tests flow


Conclusion 

Mobile app testing can be very challenging, but building a comprehensive test strategy that understands the nature of different platforms and tools is the key to success. Providing a reliable and hermetic test environment is as important as the tests you write. 

Finally, make sure you prioritize your automation efforts according to your team needs. This is how we prioritize on the Google+ team: 
  1. Unit tests: These should be your first priority in either Android or iOS. They run fast and are less flaky than any other type of tests.
  2. Backend tests: Make sure your backend doesn’t break your mobile clients. Breakages are very likely to happen when the release cycle of mobile clients and backends are different.
  3. UI tests: These are slower by nature and flaky. They also take more time to write and maintain. Make sure you provide coverage for at least the critical paths of your app.
  4. Monkey tests: This is the final step to complete your mobile automation strategy.


Happy mobile testing from the Google+ team.
Read more…

Partners HP and ZAP Technologies, the leading provider of full lifecycle test automation solutions for mobile, Windows, iOS, and Unix applications, announces the publishing of a whitepaper released to discuss and illustrate how ZAP’s most popular, market-leading product ZAP-fiX extends the HP ALM suite to testing environments on Mac-based platforms.

ZAP Technologies Introduces Real Device Test Automation

ZAP Technologies is an HP Elite Partner, HP software reseller, and solution provider. The company has been developing and delivering leading solutions through HP Software for more than 15 years. ZAP Technologies specializes in developing software that extends HP Software technologies, implementing its industry experience and expertise in test automation best practices, QA management, performance validation, and application management for Mac and cross-platform environments.

Recognizing and understanding the need for automated testing for mobile and cross-platform applications, ZAP Technologies has developed a product called ZAP-fiX (ZPX). Using this product with ZAP’s unique 1Script technology, customers of HP Application Lifecycle Management (ALM), HP Unified Functional Test (UFT), and HP QuickTest Professional (QTP) users can execute that same script cross-platform on all applications—both native and Web-based.

Testing on Mac-based Platforms 

ZAP Technologies recognized and understood the need for automated testing for Apple Mac-based native 

and Web applications. The company developed ZAP-fiX software, which seamlessly extends the HP Quality Center (QC) or HP ALM desktop testing environment for Mac and other platforms. ZAP-fiX software helps QA organizations test and monitor applications using HP software in an ergonomically friendly way—saving time, money, and resources.

Companies using HP ALM products like HP Quality Center (QC) and HP UFT/QTP have historically lacked tools to support testing and test automation for Mac-based applications, because HP ALM cannot functionally test on Mac platforms. Businesses are therefore unable to access the rich functionality and best practices afforded by HP ALM—or tap into the large community of HP ALM users or HP UFT/QTP developers and vendors. Thanks to ZAP-fiX with HP ALM on Mac platforms, that’s about to change.

“We recognized a demand on the market among primary users who adapted HP ALM products as their strategic QA management technology to extending their testing to the Mac-based community,” Alex Chernyak, President and CTO of ZAP Technologies explains. “ZAP-fiX can fill in the gaps and provide testing teams with a tool that will allow them to approach test automation from all angles.”

Together, ZAP Technologies and HP will put their historical footprint on Mac platform testing.

To read the whitepaper and find out more about how ZAP-fiX revolutionizes test automation, visit our website atwww.zap-fix.com. The materials are available for quick download on the home page. Interested in learning how ZAP-fiX can forge a road to success with your application testing projects? If so, fill out our short evaluation form and a ZAP Expert will be in contact with you to discuss if our products are right for you.

Read more…

When Apple announced iOS 7, it revealed an operating system with a much different look than the mobile OS we’re used to. According to Marco Arment, creator of Instapaper and iOS developer, this was an intelligent, strategic and aggressive move on Apple’s part. In a recent article, he describes iOS7 as a defense against copycats. Since this platform was released in 2007, iOS has seen countless immitations of its structure and appearance, especially by Android and Samsung. The iOS “theme” quickly became the “go-to” look for smartphones. Now, six years later, Apple is stepping out once again to set a new trend.

iOS7 is going to display radical changes from the “norm” that we are used to. But, when this platform’s popularity skyrockets, the old “norm” will fade into history. This is, naturally, what Apple hopes for. They’ve taken steps to assure that their new product retains its originality and uniqueness. Marco mentions in his article that:

"Apple has introduced new patents and features in their product that will make copying their UI more and more difficult. iOS 7’s appearance and dynamics require a powerful GPU and advanced, finely tuned, fully hardware-accelerated graphics and animation APIs. This will hurt web imitators most, but it’s also going to be problematic for Android: while high-end Android phones have mostly caught up in GPU performance, and recent Android versions have improved UI acceleration, most Android devices sold are neither high-end nor up-to-date. The gap is much wider in tablets, and even “high-end” tablets usually have insufficient GPU power to drive their high-DPI screens."

Apple is looking to reclaim its place on the top of the mobile UI pyramid. At first, they may succeed, for the drastic changes will be difficult to copy and will create new challenges for cross platform frameworks. Since developers aren’t likely to abandon iOS app development all together, they’re likely going to spend much of their immediate time updating apps for iOS 7 – meaning Android and other platforms will be neglected for awhile. As Marco said:

“Whatever app developers were planning to do this fall is probably on hold now, because everyone’s going to be extremely busy updating and redesigning their apps for iOS 7. Anyone thinking about expanding into another platform now has a more pressing need to maintain marketshare on iOS.”

As testers, we need to prepare for iOS 7 and the new and revolutionary changes it will bring to the table.

Read more…

Opportunity - Motorola Handheld Device Tester

Please send me your updated resume to sunny@capricornsys.com OR Call me at 678-514-1080 Ext 3210

 

Job Title: Motorola Handheld Device Tester

Job Location: Johns Creek GA

Job Duration: 5 Months

Client: Retail Giant

Rate: TBD

Note: it is a requirement for the candidate(s) to have experience testing on Motorola (3190 & 3190Z) handheld devices

5+ years Mainframe testing recent experience

5+ years experience with Software Application testing techniques and quality assurance practices.

5+ years experience with all phases of the test cycle (Test planning, Test case development, test execution, regression & system test)

Hands on test script creation and execution experience in a Web/Java environment desired

Experience logging and tracking defects Experience testing on handheld devices (Motorola 3190 & 3190Z) Experience testing mobile phones

Experience w/ test management tool HP Quality Center Experience creating and validating data to test functional component of application

Experience testing report functionality (operational and Analytical data warehouse reports) a plus

Relational DB/SQL experience (query database to verify test results/find test data etc.), a plus Identify major developmental or design risks and action plans Excellent verbal/written communication skills

Read more…

Silk Test- Mobile Test Automation Tool

Brief:-

# Business & technical users alike quickly & intuitively generate test scripts to validate functionality with Borland Silk Mobile.
# Meet business requirements & ensure application performance by modifying scripts to enhance synchronisation & validation.
# Plug devices directly into a PC & use the visual scripting to capture & validate gestures & mobile interactions directly in your environment.
# Export scripts easily to the IDE of your choice (Silk4J, Silk4Net, Junit, Nunit, MSTest, VB.Script to name a few) to quickly & easily replay test scripts in continuous integration testing & test automation frameworks.
# Find out more & take a free 30 day trial http://www.borland.com/products/silkmobile/
 
Read more…
Welcome to Mobile QA Zone, a Next Generation Software Testing Community.Invite your friends to join this community.Write to us to become a featured member.