Tuesday, February 17, 2015

10 Open Source Mobile Test Automation Tools

Here is a list of top ten open source mobile test automation tools to allow you to automate mobile apps and mobile web. Some open source tools for mobile automation can be used for both Android and iOS as well as Native, Web and Hybrid.
appium-toolAppium(Android and iOS)
Appium is an open-source tool for automating native, mobile web, and hybrid applications on iOS and Android platforms.Native apps are those written using the iOS or Android SDKs.Mobile web apps are web apps accessed using a mobile browser (Appium supports Safari on iOS and Chrome or the built-in ‘Browser’ app on Android). Hybrid apps have a wrapper around a “webview” — a native control that enables interaction with web content. Download Appium



calabash-toolCalabash (Android and iOS)
Calabash is an automated acceptance testing framework for mobile apps. Calabash could be compared to Selenium WebDriver. However, it is important to realize that interacting with a web app from a desktop computer is vastly different than interacting with a native app using a touch screen. Calabash provides APIs that are specialized to native apps running on touch screen devices.Download Calabash



frank-ios-toolFrank (iOS)
Frank allows you to write structured text test/acceptance tests/requirements (using Cucumber) and have them execute against your iOS application. Frank also includes a powerful “app inspector” (called Symbiote) that you can use to get detailed information on your running app. Download Frank



monkeytalk-toolMonkeyTalk (Android and iOS)
MonkeyTalk automates real, functional interactive tests for iOS and Android apps – everything from simple “smoke tests” to sophisticated data-driven test suites. Native, mobile, and hybrid app, real devices or simulators. Download MonkeyTalk



ios-ui-automation-tooliOS UI Automation (iOS)
Use the Automation instrument to automate user interface tests for your iOS app through test scripts that you write. These scripts simulate user actions by calling UI Automation, a JavaScript programming interface that specifies actions to be performed in your app as it runs. During the tests, the system returns log information to you.
When you automate tests of UI interactions, you free critical staff and resources for other work. In this way you minimize procedural errors and shorten the amount of time needed to develop product updates. More information



robotium-toolRobotium (Android)
Robotium is an Android test automation framework that has full support for native and hybrid applications. Robotium makes it easy to write powerful and robust automatic black-box UI tests for Android applications. With the support of Robotium, test case developers can write function, system and user acceptance test scenarios, spanning multiple Android activities. Download Robotium



ios-driver-tooliOS-driver (iOS)
Automate any IOS native, hybrid, or mobile web application using the Selenium / WebDriver API. ios-driver is fully compatible with the Selenium / Webdriver API. IOS automation is therefore as easy as automation for a browser.
ios-driver fully integrates with Selenium Grid so you can reuse your existing web automation infrastructure including your helper and utility classes (i.e. data creation, page objects etc.)
Download iOS-driver



ui-automator-toolUi Automator (Android)
The uiautomator testing framework lets you test your user interface (UI) efficiently by creating automated functional UI testcases that can be run against your app on one or more devices.
The uiautomator API is bundled in the uiautomator.jar file under the /platforms/ directory. The API includes these key classes, interfaces, and exceptions that allow you to capture and manipulate UI components on the target app. More information



kif-toolKeepItFunctional (iOS)
KIF, which stands for Keep It Functional, is an iOS integration test framework. It allows for easy automation of iOS apps by leveraging the accessibility attributes that the OS makes available for those with visual disabilities.
KIF builds and performs the tests using a standard XCTest testing target. Testing is conducted synchronously in the main thread (running the run loop to force the passage of time) allowing for more complex logic and composition. Download KIF



selendroidSelendroid (Android)
Selendroid is a test automation framework which drives off the UI of Android native and hybrid applications (apps) and the mobile web. Tests are written using the Selenium 2 client API.Download Selendroid

Automated Mobile Testing Tools

Automating the testing of mobile applications is especially challenging as mobile devices are less accessible and less open than standard desktop environments or web-based applications. Vendors of automated testing tools usually offer specialized modules or additional tools as part of their products designed for mobile applications. There are also a couple of free open source tools that you can use to automate your mobile application tests.
Commercial

DeviceAnywhere

DeviceAnywhere is available in multiple editions and allows you to test your apps and websites on different devices and automate your mobile tests.
Commercial

Ranorex

Ranorex can be used to automatically test mobile applications on iOS, Android and Windows 8 devices. Ranorex allows you to directly record your tests on your device to build your tests.
Commercial

eggPlant

eggPlant is another test automation tool that also supports various mobile development platforms such as iOS, Android and Windows Mobile/Phone.
Commercial

Silk Mobile

Silk Mobile is a test automation tool for web, iOS, Android, Blackberry and Windows Phone devices, which allows you to build and run your automated tests without having to jailbreak your devices.
Commercial

SeeTest

SeeTest is a test automation tool for iOS, Android, Blackberry and Windows Phone. It allows you to record your tests on real devices and can be used to build cross-platform test automation suites.
Open Source

MonkeyTalk

MonkeyTalk is an open source test automation tool for mobile devices. It can be used to automate real, functional interactive tests for native, mobile, and hybrid iOS and Android apps, everything from simple smoke tests to more complex data-driven test suites.
Open Source

NativeDriver

NativeDriver is an implementation of the WebDriver API which drives of the UI of a native application rather than a web application. The project is working on drivers for Android, iOS and Windows/Windows Phone devices and applications.

OPEN SOURCE! THE TOP 10 IOS AND ANDROID AUTOMATION TOOLS

  • Appium (iOS/Android) is a splendid open source tool used for automation of native and web as well as hybrid apps. What I mean by that is the fact that it is good for automation of apps written on original Android or iOS SDKs (native), web applications that are accessible via a mobile browser (web) and applications that are wrapped around the ‘webview’- the native control feature which enables various interactions with web contents (hybrid).
  • Calabash (iOS/Android) is an acceptance testing automation framework. It may be compared with the famous Selenium Web Driver. Yet every tester has to realize the difference between testing the app on a desktop machine and on a touchscreen devise. Especially when dealing with a native application. Calabash may provide the necessary API full of ‘touchscreening’ experiences.
  • Frank (iOS) actually allows you to write structure text tests as well as acceptance tests and requirements (via Cucumber) and all that fun will be executed against your iOS app. You can also get all the required info about your running app via Frank’s Symbiote, the app inspector in other words.
  • MonkeyTalk (iOS/Android) can automate all possible real and functional interactive tests. Everything from little “Smoke Tests” to the tough data-driven test suits. It does bot real device and simulation tests with native and hybrid as well as mobile apps.
  • iOS UI Automation (for iOS)  This one is an instrument. The one you can use for automating your user interface tests through some written test-scripts.
  • Robotium (Android)  A great tool for both native and hybrid apps. Robotium makes black box testing fairly easier. With it test case developers are free to write function and system as well as user acceptance test scenarios.
  • iOS Driver (iOS)  is capable of complete integration with the Selenium grid. Thus you will have the possibility of reusing the already existing wen automation infrastructure. This also includes the helper as well as the utility cases.
  • UI Automator (Android) This UI Automation framework allows you to test your UI via creation of automated functional test cases. They will be able of running against your app on a single or multiple devices.
  • KeepItFunctional (iOS) KIF is an integration test framework. KIF is building and performing cases with a standard XCTest testing target.
  • Selendroid (Android) is but one more test automation framework. It is driven of the UI of both native and hybrid apps as well as the mobile web. So the tests will be written via Selenium 2 client API.

Monday, February 16, 2015

15 Best Test Management Tools for Software Testers


Test Management encompasses anything and everything that we do as testers.  Our day-to-day activities include:
  1. Creating and maintaining release/project cycle/component information
  2. Creating and maintaining the test artifacts specific to each release/cycle that we have- requirements, test cases, etc.
  3. Establishing traceability and coverage between the test assets
  4. Test execution support – test suite creation, test execution status capture, etc.
  5. Metric collection/report-graph generation for analysis
  6. Bug tracking/defect management

1) QMetry:

QMetry logo
QMetry is a total test management tool that you can use to create requirements, test cases (test suites) that can be run on multiple platforms and defects. It integrates seamlessly with many leading bug-tracking and automation environments making a good candidate for use in most situations. It is a commercial product, with a 30 day free trial available. Visit the site for more information at:http://www.qmetry.com/

2) TestRail:

Testrail logo
TestRail is a centralized test case management tool – you can use it to create test cases and test suites, track execution and report metrics. Additionally, it integrates with many issue tracking tools that makes requirements from external systems to be linked to test cases in TestRail; bugs can also be created in the external systems and links can be established to the corresponding test case. It comes with a HTTP-based API to integrate with the automated test results. One most common integration is with Gemini, which is a incident/ticket management system(supports agile too). It is a commercial product with a free trial available at:http://www.gurock.com/testrail/

3) JIRA:

jira logo
JIRA is tool that makes an appearance anytime there is a discussion on any-management process- for all the right reasons. JIRA has 2 add-ons that support the test management process.
  a) Zephyr: All the aspects that you would expect of a typical tool of this type are supported. You can create tests/test suites/test cycles/bugs/reports and so on. You could have an additional add-on, ZAPI for automation integration.  Along with the initial JIRA license you would have to pay for Zephyr to use it. ($10 for 10 users a month). There is a free trail available too. Check out information about it at:https://marketplace.atlassian.com/plugins/com.thed.zephyr.je
  b) Go2Group SynapseRT: This tool has all the test management features but the primary focus is on requirement based testing. It can be used for projects where it makes more sense to track your progress in terms of the completion and/or success-failure of a certain requirement as opposed to test cases. Traceability is of higher priority with this add-on. Along with the initial JIRA license you would have to pay for this add-on too. ($10 for 10 users a month). There is a free trail available at:https://marketplace.atlassian.com/plugins/com.go2group.jira.plugin.synapse

4) XQual

xqual1
XQual delivers one of the most advanced Test Management solution. From this unique tool, you’ll be able to manage your releases, requirements (incl. risks), specifications, tests, campaigns and bugs.
It can be integrated with all the continuous integration platforms and it can drive ANY kind of test: 5 different interfaces for manual testing and 40+ connectors with all the best automation frameworks on the market: Selenium, QTP, AutoIt, JMeter, Ranorex, TestComplete, JUnit, TestPartner, Sahi and many more. Integration with many third-party requirement or bug-tracking systems is also possible. There is also a free community edition available here:http://www.xqual.com/support/download.html

4) qTest:

qTest logo
Developed by QASymphony, qTest is one of the cloud-based test management tools that has all the typical key features. With the help of qTest Connector, it can integrate with JIRA for an entire end-to-end QA solution – but that is not all, it also integrates with other tools like Bugzilla, FogBugz, Rally etc. It is not open sourced but very affordable. Check out information and pricing at:http://www.qasymphony.com/qtest.html

5) TestLodge:

TestLodge logo
This is a comprehensive test case management tool that has 4 key aspects – Test Plan, requirements, Test suites/cases and test runs. So, as you can see, it has everything it needs to be able to manage test cases for you. For all the other operations, it integrates with the many main stream incident/issue management tools to provide a comprehensive solution. It is a commercial product, for a free trial visit: http://www.testlodge.com/

6) HP ALM/Quality center:

HP ALM logo
HP QC has been one of the most used test management softwarefor many years. It has all the features necessary and in many ways, it is the standard against which the other tools are measured. Even though it is one of the high-end tools, economically, it still remains to be very popular. Check out http://www8.hp.com/in/en/software-solutions/software.html?compURI=1172141 for trial and other information.

7) Zephyr:

Zephyr logo
This is the same Zephyr that we discussed earlier as being an add-on to JIRA. The reason why it deserves an independent discussion is because it can be used as an individual product also. For free trial and more info: http://www.getzephyr.com/

8) Testuff:

Testuff logo
Testuff is Saas Test Management tool that has many cool features. The typical test case management features are a given. Besides that, it has a cool video upload capability for a defect. Integrates with a huge list of bug-trackers, some of which are, Bugzilla, JIRA, YouTrack, Mantis among others. It has an API that supports automation tools like QTP, Rational Robot, Selenium, TestComplete etc. Best of all, it is very affordable. Check out the features and pricing information at: http://www.testuff.com/

9) Test Collab:

Test Collab logo
A web based test case management tool that states its speed to be one of its key features due to its ‘Ajax’ified interface(in the exact words of the software makers). It is simple to use, integrates with all major bug/issue/incident trackers. Customizable and has a good reporting facility. It is a commercial product and information is available at: http://testcollab.com/

10) Gemini:

countersoft gemini
One of the key components of this tool is supporting ‘Testing & QA’ along with the other aspects like Project Planning, issue tracking etc. Using this tool you could create test plans, test cases, test runs, traceability, test run reports etc. There are also various integrations and extensions available. It is a commercial product with a free starter pack available at:http://www.countersoft.com/solutions/testing/

11) PractiTest:

practiTest logo
------------
It is an end-to-end QA and Test management software. You can organize your requirements, create tests, run tests, tracks bugs etc, using this tool. It integrates very well with three of the leading incident management tools like JIRA, Bugzilla and RedMine. It is not open sourced but is quite affordable. For more feature and pricing information, check: http://www.practitest.com/

12) TestLink:

TestLink logo
This is one of the very few open source test management toolsavailable for use in the market.  It is a web- based tool with typical features like, requirement management, test case creation and maintenance, test runs, tracking bugs, reports, integration with common issue trackers etc. To download, visit:http://sourceforge.net/projects/testlink/

13) QAComplete:

smartbear QAComplete logo
QAComplete is one of the most powerful test management tools that we have.  This suits agile/traditional, manual/automation projects excellently.  You could use it in integration to QTP and TestComplete. For automation projects, you could schedule the test runs and run them remotely on any registered hosts. There is also a detailed release management feature that provides for better analysis. It works along with major bug-trackers and with source control tools – Subversion, Perforce and CVS. Given all the features, it is a little pricey. There is a free trial available though. Check out all its features at: http://smartbear.com/products/qa-tools/test-management/

14) Silk Central:

Silk Central logo
This is a test management product by Borland. Once you have Silk Central with you there is a nothing left for you to ask for anything else. It is robustness personified, though it is pricey.  All the features for coverage, traceability, reporting, test creation, running – it has got them.  It integrates with many source control and issue tracking system. There are additional plug-ins to extend its capabilities to automation testing using QTP, WinRunner etc. It comes with a video capture feature and supports SAP testing. This product is really cool. Try it at: http://www.borland.com/products/silkcentral/

15) IBM Rational Quality Manager:

IBM Rational Quality Manager logo
A test Management product that has all the typical features – Test planning, test design, test execution, tracking and reporting. It integrates with many of the rational products for automation, source control and bug tracking activities. It is a commercial product. Check out its features, pricing and other information at: http://www-03.ibm.com/software/products/en/ratiqualmana

Additional tools:

The below are some more tools that are worth mentioning:
16) VersionOne: A commercial product primarily catering to agile projects, this has a test management module along with planning, reporting and others, with all the typical features. Check out:http://www.versionone.com/product/agile-test-management/
17) TestPad:  This tool’s motto is “Spend more time actually testing”. The primary concept of this tool is – checklists. In your test plan you could have a series of checklists (tests) that can be as detailed or as short as possible. It is perfect for exploratory testing. It is commercial and you can try it at: https://ontestpad.com/
18) Aptest: a web based, commercial product that has all the typical features you would expect along with the typical integrations with issue trackers. http://www.aptest.com/atm2/
19) SpiraTest: A complete QA solution is what this product is. Instead of having your requirements, tests, defects in separate systems, this tool has it all in one place. It integrates with unit and automation testing frameworks among other things. It is commercial, though not very expensive.https://www.inflectra.com/SpiraTest/Default.aspx
20) Meliora TestLab: This is a simple to use product for requirement management, test-creating & running, defect management, workflow optimization, and integration with JIRA etc.  Commercial again, check it out at: https://www.melioratestlab.com/
21) SmarteQM: A complete life cycle management tool that provides the complete end-to-end test process support and integrates with other SmartSoft functional test tools.  It is web based and commercial.http://www.smartesoft.com/products_smarteQM.php
22) Test Run:  a web based commercial test management process that is easy and simple to use. It has all that you need to create test plans, execute them successfully and report. Integrates with JIRA and LightHouse. http://runtestrun.com/
23) Test Wave: A test management tool that needs no installation, is web based, simple and commercial (affordable). This tool provides you a facility to import your already existing requirements/test assets from excel sheets. It also comes with an inbuilt defect trackerhttp://www.testwave.co.uk/
24) Enterprise Tester: This test management tool supports both agile and traditional projects. Integrates with JIRA and also works great for automation testing with QTP, Selenium, RFT etc. This is a really cool commercial tool. Check it out at:http://enterprisetester.com/
25) TestLog: A very comprehensive end-to-end test management tool that is easy to install and configure due to its XML database. It allows documentation of both automation and manual test cases. It also comes with a web interface for remote access.  This product is commercial too. http://www.testlog.com/
26) QaTraq:  An open source test process control tool that can be used to create test cases, running them, recording results etc.http://sourceforge.net/projects/qatraq/

Monday, February 9, 2015

Roles and responsibilities of SQA in CMMI

SQA (Software Quality Assurance) Engineer in an Organization going for CMMI Assessment has various responsibilities. SQA Team Structure depends on the overall strength of the organization and number of people involved with process implementations (in Software Development or Services Organization). SQA is the mainly responsible for leading the Quality Initiative in the CMMI organization and is responsible for conducting many associated process improvement activities in the organization.
SQA is involved with these CMMI Process Improvement activities:
  • Process Improvement Planning
  • Conducting Audit of products, projects and services
  • Development, modification and updating of a CMMI Compliant QMS
  • Implementation Checks and Audits and the Follow-up Audits
  • Conducting Training for Process Implementers according to their roles
  • Training to Project Team Members on core activities like Project Management, Estimation, Reviews etc.
  • Metrics Analysis Report preparation
  • Preparation for SCAMPI Assessment Documentation and Training
All these activities are targeted towards the Continuous Process Improvement in the organization using CMMI Framework.

SEPG/QAG qualities required for CMMI

SEPG/QAG Group, here are some of the qualities required in a SEPG Team Member in a CMMI Organization:
  • CMMI Knowledge is an added advantage. Knowledge of other Quality Framework and Standards makes you a pro.
  • Subject Matter Expertise – you should have good knowledge and skill set in your field. It may in Software Development, Requirements Gathering, Software Design, Testing, Quality or any other field. But should understand Software Development Life Cycle models.
  • Should have worked with good number of projects and people.
  • Understand Processes and know about Process Improvement. Should have experience in assisting project teams in process implementation.
  • Excellent communication and interpersonal skills.
  • Good Team Player.
  • Should be self motivated and capable of motivating others.
  • Should be enthusiast about the process improvement and the organization.
  • Should take part in SEPG meetings actively.
  • Should complete the tasks on time, assigned by SEPG Team.