Category: Software & Mobile Apps Testing

What is a Mobile Application?

Mobile applications are applications created by companies, developers to do a specific task(for a specific use). These applications are called as mobile native applications or mobile web based applications. These applications either run on mobile devices (native apps) or on websites (mobile web apps).

Mobile Application Types:

What is Mobile Native Apps: The applications that reside on the phone or that can be downloaded from OEM stores.

What is Mobile Web Based Apps: The applications that can be accessed through Browsers.

Social Networking Websites: Facebook, Twitter, Linked In can be accessed.

Online Sales: Products or services can be bought online.

Online Trading: Online trading on stocks, futures and options and the latest information will be updated via charts/graphs.

GPS: Can be used to find a lost phone or about the person’s vehicle’s location.

Games: You can play offline or online.

Insurance: You can home insurance quotes, health insurance quotes.

Sports: You can watch sports activities.

IT: Several applications are created to help the users.

Differences between Mobile Native Apps and Mobile Web Apps:

Sl. No

Mobile Native Apps

Mobile Web Apps (Mobile Websites)

1

Inbuilt applications reside on the devices (phone, tablets)

Hosted in a server

2

New applications can be downloaded from app stores

Applications will be updated on the website.

3

Applications are operating system specific. Companies don't build Applications for all operating systems. It's the company's wish to decide about the operating system. If the company feels that they are getting more users from IOS and Android, then they will develop application only for IOS and Android. Users with other operating systems on their mobiles have to access through mobile website only.

Any one can access the mobile website. It is not operating system dependent.

4

Software and Hardware needed for developing applications are different (Example: Android applications and IOS applications software and hardware are different).

Usually Developed with HTML5, CSS, and JavaScript.

5

Cost involved in developing the application is more since applications have to be created for each operating system.

Cost involved is less

6

Applications are used by touch or keypad operations

URL is used to navigate to the websites.

7

May need internet connectivity to access the application since some applications doesn't need internet connection.

Internet connectivity is mandatory to connect to the website

8

Can use software and hardware configurations of the mobile. While creating applications, Can get access to devices like camera, video recorder, accelerometer, gyroscope, mp3 players, storage, compass etc. Global Positioning System (GPS) allows knowing the exact location.

Mobile Ecosystem:

Mobile Ecosystem is collection of multiple devices (mobile phones, Tablet, Phablet etc), software (operating system, development tools, testing tools etc.), companies (device manufacturers, carrier, apps stores, development/testing companies, etc.) etc., and the process by which data (sms, bank transactions etc.), is transferred/shared by a user from one device to another device or by the device itself based on some programs (Birthday, Wedding Messages, calendar).

Data (Text, MultiMedia, VOICE) sharing can be done between devices of the same operating system or different operating systems. Examples: IPhone (IOS) to Windows Phone or IPhone(IOS) to Nexus(Android) or Motorola(Android) to Nexus (Android).

Data can be also shared between multiple devices with the same operating system of the same manufacturer. Example: Apples: IOS: Iphone, Ipad, to Ipod, TV, Laptops.

Process:

Mobile is manufactured with necessary software and applications.

Users buy phones and subscribe to plans with carriers. If needed, buys/uploads applications for the device.

From time to time, new applications or features are uploaded or upgraded in the device as and when the need arises.

Mobile Manufacturers:

Operating System:

This is the important component of a Mobile, which controls/operates all applications that are residing on the mobile phone. Android is open source and IOS is a closed source.

Example: IOS, Android, BlackBerry OS, Symbian, Bada etc.

Mobile Ecosystem:

Mobile Apps Development Tools:

Android Applications are developed with Eclipse, Intellij Idea etc.

BlackBerry Applications are developed with Eclipse etc.

IOS Applications are developed with XCode, MonoDevelop, AppCode etc.

Windows Phone Applications are developed with Microsoft Visual Studio etc.

Please go to relevant websites to get more information on each Tool.

Mobile Website Development Tools:

HTML5, CSS3, JavaScript etc. are used to create mobile websites.

Mobile Apps Testing Tools:

A. Emulators:

Actual device (mobile) operations and functions are simulated on to the computer. Instead of buying several devices (Motorola, Samsung, Micromax etc), we can use emulators for functional testing. Network Connectivity, resolution testing etc cannot be tested 100% with emulators. So for testing to be 100% perfect, devices are needed and again buying several devices will be very costly. For this, you can go to Mobile Cloud environment companies and rent those mobile phone.

B. Mobile Cloud:

Companies rent mobiles and other devices virtually at hourly or weekly basis or monthly basis etc. Applications can be tested by subscribing to those companies.

Organization Hierarchy Chart:

The organization hierarchy mentioned below will not be the same in all companies and differ from each other. We have placed only few titles in the chart.

Career Path and salary of a Software Tester:

A software tester begins his /her career as a trainee and gets molded as a senior software tester or software testing lead after 4 to 5 years of experience. Playing a lead role involves additional responsibilities like metrics collection, review, training the junior resources etc apart from testing. and involve in project management, quality assurance, process management, SDLC models selection, administration etc. The mapping between career path of a tester and experience in the below mentioned table is based on my experience and it will vary from company to company.

Career Path of a Software Tester

Experience

Salary Range - US $

Software Tester (Junior or Fresher or Trainee Level)

Less than 1 year

Around 40,000

Software Tester - Middle Level

Around 3 years

Around 65,000

Software Tester - Senior Level/Lead

Around 5 years

Around 80,000

Software Testing - Architect

Around 10 years

Around 120,000

Software Testing - Manager

Around 10 years

Around 120,000

Software Testing - Director

Around 15 years

Around 150,000

Software Testing - Vice President

Around 15 years

Around 150,000

Software Testing – President

Around 15 years

Around 150,000

Pay Scale of a Software Tester:

The salary range of a software tester working in USA mentioned in the above table is a ball park number. Salary will be different from company to company and will be based on US TAX TERMS like w2 (with benefits and without benefits), h1b processing fee, green card processing fee, health insurance, vacation, duration of the project, role in the project, location, sign on bonus, relocation expenses, bench period etc agreed by the candidate and the employer.

When a candidate works on billing rate per hour with an employer, then the amount that is earned will be more since the employer will the pay only the billing rate agreed and will not care about the benefits of the candidate. A middle level software tester can get $40 to $60 per hour and a senior level tester/lead can get between $50 and $70 etc.

Mobile Applications Introduction:

Earlier, Mobile phones were introduced into the market with calling facility and minimum features (calculator, calendar, phone book) that reside on the mobile phone. Based on the evolution of new technologies like 2G, 3G, 4G etc. in telecommunication systems, several functions of other devices like Camera (taking pictures), Video Recorder (taking videos), MP3 Players (music player) , Bluetooth (transfer of voice and text data) etc. have been embedded in mobile phone thereby making it’s possibilities endless. By connecting to internet and with browsers, mobile phones can be used to search on the internet, mobile browsing, GPS (graphical positioning system), login to websites/email applications like Gmail, Yahoo etc.

With inbuilt programs/applications on mobile phones, sms, video calling, video conferencing, and multimedia messaging systems are also possible. With hybrid applications that come along with the phone, mobile can also be used to chat (e.g. Google Chat, Yahoo Messenger).

Mobile Phone Types:

Feature Phones: With basic features like calling, calendar, clock etc.

Examples of Mobile Websites:

The latest smart trend is that the OEMs (Original Equipment Manufacturers) like Apple, Microsoft, Google, BlackBerry, Nokia, Samsung, Motorola, HTC, Sony have developed (developing) several applications which can be downloadable (free or paid) from their stores; To have an edge in the market, automotive, BFSI (banking, financial services and insurance), health insurance, manufacturing, media/ entertainment and retail organizations have developed new applications that reside in the OEM stores.

Mobile Manufacturers and Mobile Applications Stores:

OEMs

Website

Stores URL

Google

www.google.com

play.google.com

Apple

www.apple.com

store.apple.com

Microsoft

www.microsoft.com

http://www.windowsphone.com/en-in/store

BlackBerry

www.blackberry.com

appworld.blackberry.com

Nokia

www.nokia.com

store.ovi.com

Samsung

www.samsung.com

http://www.samsung.com/in/samsung-apps/index.do

HTC

www.htc.com

htcapps.com

Moreover individuals also create applications and its available either as free or paid in OEM stores.

How to search for software testing consultant jobs in job boards?

In Software Testing, QA means QUALITY ASSURANCE and QC means QUALITY CONTROL. QA and QC are different processes or procedures in testing. Even though QC is relevant to testing, employers post most of their requirements as QA in job boards. When employers flash their requirements to their staffing vendors, they mention it as QA. The best search in job boards will be “QA” or “Tester” When you search for job opening, please read job descriptions and if you are eligible, submit your resume.

Software testing job titles are either based on the technology (C++ QA tester) or domain (Manual tester with insurance background) or technology/domain (PeopleSoft HRMS tester).

Software testing job titles are either based on the technology (C++ QA tester) or domain (Manual tester with insurance background) or technology/domain (PeopleSoft HRMS tester).

The word “Tester” was searched in www.Dice.com and few results of software testing job titles are shown below:

ASR Automation Tester

Automated Developer/Tester

Automation Tester

Data Interface, ETL Tester – ETL Tester, PeopleSoft HR Modules

Developer/Tester

ETL Tester

Java J2EE _Selenium Tester

LTE Tester

Mobile Tester – Senior

Multiple QTP and perf tester positions

Penetration Tester

PeopleSoft HRMS Tester

PeopleSoft Tester

QA Compliance Tester

QA Tester

QA Tester (Drupal & Demandware – no back-end!)

QA/EDI Tester

Quality Assurance Tester

Scrum Tester

Selenium Tester

Senior Tester with previous Java development experience

Software Tester

Software Tester (Automated) – QA Analyst

Sr QA Tester

Telecome Drive Tester

Webservices Tester

WiFi Telecom Tester

The word “Manual Tester” was searched in www.Dice.com and few results software testing job titles are shown below:

Manual Tester

Manual Tester – Mobile Devices

Manual Tester – Universal User Interface (UUI)

Manual Tester (Lockbox Experience)

Manual Tester (Unix Background)

Manual tester With Experience in Mobile Application Testing, Web Ap

Manual Tester with Insurance background

Manual Tester/Automation Tester

Manual Tester-Fulltime Position

QA – Manual Tester with some automation-Immediate Need

QA Automation / Manual Tester

QA Manual Tester

QA Manual Tester (TSYS)

QA Tester/BA Analyst/Manual Tester in Houston, TX (westside)

QA with XBOX experience

Quality Assurance Engineer I – Analyst

Quality Assurance Engineer II – Analyst

Senior Manual Tester with Programming skills

Sr. Manual Tester

Test Engineer

Web Tester / SQL

The word “QA” was searched in www.Dice.com and few results of QA software testing job titles are shown below.

BI QA Analyst

BI QA Analyst (SQLServer/Informatica/Cognos)

ETL Tester / Datawarehouse Tester / QA Tester

Hardware QA Technician

Healthcare QA

Looking for a combo programmer and QA pro with Web Services Testing and Unix Shell Scripting

Open Source Software Testing Tools List:

There are several OPEN SOURCE TESTING TOOLS available and we have mentioned only the extensively used tools mentioned by Gartner i.e. Gartner’s Magic Quadrant for Integrated Software Quality Suites published on 11th July 2013 (www.gartner.com). To get more details about the product, follow the respective links mentioned alongside each tool.

Proprietary Software: Here you have to pay some amount, buy the product (Source code is not provided). Only executable version of the software is provided.

Trial Version Software: You can use it until the expiry date of the trial version (Source code is not provided).

Cloud Based Software: You can use it if you pay the amount on a monthly basis or quarterly basis or yearly basis (Source code is not provided).

What is OpenSource Software?

In open source software, you get the source code at free of cost. You can use the software (AS IS) for your requirements. If you want to add some more features, you can change the code, redistribute it or you can use it for your own requirement. For more information about Open Source Software, please visit Open Source Software.

Open Source Testing Tools:

Chef is an automation platform that transforms infrastructure into code. Stop thinking in terms of physical and virtual servers. With Chef, your real asset is the code that brings those servers and the services they provide to life. An automated infrastructure can accelerate your time to market, help you manage scale and complexity, and safeguard your systems.
Whether your network is in the cloud, on-site, or a hybrid, Chef can automate how you configure, deploy and scale your servers and applications, whether you manage 5 servers, 5,000 servers or 500,000 servers. It's no wonder that Chef has been chosen by companies like Facebook and Amazon for mission-critical challenges.

Geb is a browser automation solution.
It brings together the power of WebDriver, the elegance of jQuery content selection, the robustness of Page Object modelling and the expressiveness of the Groovy language.
It can be used for scripting, scraping and general automation — or equally as a functional/web/acceptance testing solution via integration with testing frameworks such as Spock, JUnit & TestNG.
The Book of Geb contains all the information you need to get started with Geb.

The Apache JMeter™ desktop application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.

JUnit is a simple, open source framework to write and run repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.
JUnit features include:
Assertions for testing expected results;
Test fixtures for sharing common test data;
Test runners for running tests.

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

Puppet Open Source is a flexible, customizable framework available under the Apache 2.0 license designed to help system administrators automate the many repetitive tasks they regularly perform. As a declarative, model-based approach to IT automation, it lets you define the desired state - or the "what" - of your infrastructure using the Puppet configuration language. Once these configurations are deployed, Puppet automatically installs the necessary packages and starts the related services, and then regularly enforces the desired state. In automating the mundane, Puppet frees you to work on more challenging projects with higher business impact. Puppet Open Source is the underlying technology for Puppet Enterprise and runs on all major Linux distributions, major Unix platforms like Solaris, HP-UX, and AIX, and Microsoft Windows.

Sahi is a mature, business-ready tool for automation of web application testing. Sahi is available as an Open Source free product and as Sahi Pro, the commercial version. For testing teams in product companies and captive IT units which need rapid reliable web automation, Sahi would be the best choice among web automation tools.

It is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.
Selenium has the support of some of the largest browser vendors who have taken (or are taking) steps to make Selenium a native part of their browser. It is also the core technology in countless other browser automation tools, APIs and frameworks.

SoapUI is a free and open source cross-platform Functional Testing solution. With an easy-to-use graphical interface, and enterprise-class features, SoapUI allows you to easily and rapidly create and execute automated functional, regression, compliance, and load tests. In a single test environment, SoapUI provides complete test coverage and supports all the standard protocols and technologies. There are simply no limits to what you can do with your tests.

TestLink is web based Test Management system. TestLink is a web-based software that facilitates software quality assurance. It is developed and maintained by Teamst. The platform offers support for test cases, test suits, test plans, test projects and user management, as well as various reports and statistics. For more detail information about this tool you can get it form Test Link Wikipedia and Test Link. You also can download the user manual to learn it in detail.

Watir, pronounced water, is an open-source (BSD) family of Ruby libraries for automating web browsers. It allows you to write tests that are easy to read and maintain. It is simple and flexible.
Watir drives browsers the same way people do. It clicks links, fills in forms, presses buttons. Watir also checks results, such as whether expected text appears on the page.
Watir is a family of Ruby libraries but it supports your app no matter what technology it is developed in. Whilst Watir supports only Internet Explorer on Windows, Watir-WebDriver supports Chrome, Firefox, Internet Explorer, Opera and also running in headless mode (HTMLUnit).

Software Testing/QA/Mobile Tools List:

There are several TESTING TOOLS available from different software developing companies and we have mentioned only the popular tools available in the market. This document was created from Gartner’s Magic Quadrant for Integrated Software Quality Suites published on 11th July 2013(www.gartner.com). To get more details about the product, we have mentioned their website URLs alongside.

Testing Tools can be broadly classified as:

Software Testing Tools List:

Challenged by frequent releases and demands for shorter test cycles? Are your test maintenance costs too high? Invest in an HP Business Process Testing framework and move from serial testing to Component Based Testing: a way of creating reusable test modules that allow for changes to be made once then propagated to affected tests. Tests become more readable by modeling business processes, are easier to maintain, easier to tie to requirements, and help you quickly identify good candidates for automation.

2. LoadRunner

HP LoadRunner is the industry standard for application performance testing. The load testing tool helps you prevent issues by detecting bottlenecks and to obtain an accurate picture of end-to-end system performance before going live.
Extremely flexible for organizations and projects of all sizes, LoadRunner software testing tool enables you to test a range of applications including mobile, Ajax, Flex, HTML 5, .NET, Java, GWT, Silverlight, SOAP, Citrix, ERP and legacy.

3. Performance Center

HP performance testing software is the de-facto standard for enterprise-level performance testing. Built on HP LoadRunner software, the industry-leading solution, it includes a management framework that helps:

HP Sprinter accelerates the authoring and execution of manual software testing, provides crystal clear write-ups for accurate bug reproduction and maximizes the impact of exploratory testing. Sprinter slashes test cycle time by reducing the time of test authoring with automatic steps capture and cutting execution steps, like data entry.

7. HP WebInspect

HP WebInspect is an automated and configurable web application security and penetration testing tool that mimics real-world hacking techniques and attacks, enabling you to thoroughly analyze your complex web applications and services for security vulnerabilities. By enabling you to test web applications from development through production, efficiently manage test results and distribute security knowledge throughout your organization, WebInspect empowers you to protect your most vulnerable entry points from attack.
With QAInspect, you can embed application security software testing, AND web testing in your quality assurance (QA) process, detecting security vulnerabilities earlier in the development cycle and avoiding the excessive cost and risk that come if you allow them to slip into production.

DebugView is an application that lets you monitor debug output on your local system, or any computer on the network that you can reach via TCP/IP. It is capable of displaying both kernel-mode and Win32 debug output, so you don't need a debugger to catch the debug output your applications or device drivers generate, nor do you need to modify your applications or drivers to use non-standard debug output APIs.

Manage test environments with Team Lab Management, ensuring that all test environments are available and making easier it for developers to reproduce bugs.

3. Microsoft Test Manager

Using Microsoft Test Manager you can run manual tests, exploratory test sessions, and automated tests from a test plan. When you run any of these tests from your test plan, you can save your test results into the team project for your Team Foundation Server. You can view the progress of your automated tests, exploratory test sessions, and manual tests from your test plan.
You can run automated tests from Visual Studio or from the command line. You can also run tests by using Team Foundation Build. Test results are created every time that you run a group of tests.

BM® Rational® software helps organisations deliver greater value from their investments in software. This includes automation, state-of-the-art collaboration, and continual measurement through the IBM Rational Jazz® technology platform, IT and systems governance, and more.

IBM® Rational® Performance Tester is a performance testing solution that validates the scalability of web and server applications. Rational Performance Tester identifies the presence and cause of system performance bottlenecks and reduces load testing complexity.
Rational Performance Tester helps you quickly execute performance tests that analyze the impact of load on your applications.

5. Rational Policy Tester

IBM Rational® Policy Tester™ is an automated scanning and reporting solution designed to help organizations with compliance efforts related to compliance with privacy, quality and accessibility requirements, and to help these organizations in their efforts to reduce exposure across corporate Web properties.

6. Rational Quality Manager

IBM® Rational® Quality Manager is a collaborative hub for business-driven software and systems quality across virtually any platform and type of testing. This software helps teams share information seamlessly, use automation to accelerate project schedules and report on metrics for informed release decisions.

IBM Rational® Software Analyzer application features a rich set of analysis rules that can help improve your competitive edge by enabling you to identify code-level issues early in the software development lifecycle.

A virtual expert that automatically detects and diagnoses software defects, performance problems and security vulnerabilities lurking within the application code.

3. Silk WebMeter

Are your websites responding quick enough? Are they available from different spots in the world? Silk WebMeter gives you the answer - with daily reports on the performance and reliability of your websites.

Automated software load, stress and performance testing in an open and sharable model.

7. SilkPerformer CloudBurst

Harness the power of the Cloud to easily configure, launch, and manage even the largest peak load tests.

8. SilkPerformer Diagnostics

Silk Performer® Diagnostics Standard Edition is a cost effective Java/.NET performance analysis solution for performance testers and engineers that is integrated with Silk Performer to automate and accelerate the processes related to performance issue.

Application Testing Suite is a comprehensive, integrated testing solution that ensures the quality, scalability, and availability of your Web applications, Web Services, packaged Oracle Applications and Oracle databases.
This integrated, full lifecycle solution enables you to define and manage your application testing process, validate application functionality, and ensure that your applications will perform under load. With Application Testing Suite, you can deploy your Web applications and Web Services in less time while maximizing the efficiency of your testing team.
Application Testing Suite is comprised of the following tightly integrated products:

Today’s performance engineers and QA professionals are being asked to test web sites and mobile applications faster, more rigorously, and at scale—for less cost. No problem! That’s what CloudTest does best. Build, execute, and analyze performance tests on a single, powerful, intuitive platform. Then use our Global Test Cloud to scale your tests to any load testing requirement, up to millions of geographically dispersed mobile or web users. When you need to test faster and bigger, the SOASTA platform makes it easier.

2. CloudTest Lite

CloudTest is a powerful web and mobile testing platform. No question about it. CloudTest Lite is a free downloadable edition. It delivers rapid test creation, a visual interface, real-time analytics for test automation and performance testing throughout the application development lifecycle. Why is it free? It supports our mission of making powerful testing accessible to anyone. We want to empower developers, performance engineers and QA teams to test faster and more effectively. So, try CloudTest Lite. It’s revolutionary. And it’s free!

3. TouchTest

Smart devices demand smarter testing. Meet TouchTest® from SOASTA®. TouchTest delivers revolutionary functional test automation capabilities for multi-touch, gesture-based applications. Need to check how apps behave under real-world conditions? TouchTest lets you capture and play back all possible actions and gestures, no matter how complex, and then run tests on your own devices—even in your own Mobile Test Lab. No jailbreaking or tethering required. Today's devices are pretty smart—give yourself the edge with even smarter mobile app testing with TouchTest.

Parasoft® C/C++test® is an integrated Development Testing solution for automating a broad range of best practices proven to improve software development team productivity and software quality for C and C++. C/C++test facilitates.

2. Parasoft dotTEST

Parasoft® dotTEST™ is an integrated Development Testing solution for automating a broad range of best practices proven to improve software development team productivity and software quality.

3. Parasoft Insure++

Parasoft Insure++ is a run-time memory analysis and error detection tool for C and C++ that automatically identifies a variety of difficult-to-track programming and memory-access errors, along with potential defects and inefficiencies in memory usage. Errors such as memory corruption, memory leaks, access outside of array bounds, invalid pointers, and the like often go undetected during normal testing, only to result in application crashes in the field. Insure++ will help you find and eliminate such defects in your applications to ensure the integrity of their memory usage.

4. Parasoft Jtest

Parasoft® Jtest® is an integrated Development Testing solution for automating a broad range of practices proven to improve development team productivity and software quality. It focuses on practices for validating Java code and applications, and it seamlessly integrates with Parasoft SOAtest to enable end-to-end functional and load testing of today's complex, distributed applications and transactions.

Parasoft's service virtualization helps development and QA teams create and access any environment needed to develop or test an application. With service virtualization, development and QA teams can capture the necessary system behavior of dependent applications and provision virtual assets in order to execute complex test scenarios.

High quality business process documentation is a natural output of Worksoft's unique design. Certify BPP creates the dynamic reports on test process execution —including screen shots, critical for SOX and internal audit compliance as well as preserving institutional knowledge.

2. Certify Data

Certify Data solves the problem of obtaining valid test data for accurate and repeatable business process testing by automatically identifying and extracting representative SAP data so that it can be directly embedded into Worksoft Certify during test case construction.

3. Certify Execution Manager

Manage functional and performance tests and testing resources centrally and achieve true "lights-out" unattended automated testing. Machines can be anywhere-in premise or in the cloud, dedicated or virtual. An integrated dashboard allows you to see what's run, what's scheduled and results.

4. Certify Impact

SAP is massively interconnected across modules and in its interaction with other systems. Certify Impact allows you to uncover hidden impacts and know with certainty where testing efforts need to be focused.

5. Certify Performance

Leverage existing SAP business processes, transactions and data to simulate hundreds or even thousands of business application users, allowing users to accurately measure the impact on system performance and functionality using 75 percent less time and resources than traditional solutions.

Qualify unites all aspects of the software quality life-cycle from requirements through to deployment, providing an integrated approach to solving your quality process and management challenges.

2. TestBench

TestBench is a solution that uniquely addresses the validation of all database effects and the creation of cut down, representative test data to reduce test times and data footprints. Data confidentiality is addressed and the unique user-managed data roll-back capability reduces environment downtime, improving testing productivity and accuracy.

3. TestDrive

TestDrive is our Automated Software Quality (ASQ) solution that addresses these requirements to achieve rapid automation. It is designed to test browser and legacy applications, as well as GUIs, including Java™, Ajax, Flex® and Silverlight®.

4. TestDrive-Assist

TestDrive-Assist from Original Software is more than just a helping hand for manual testers, it's been shown to cut up to half the time spent engaged in manual software testing.

5. TestSmart

TestSmart guarantees that the data you use to test an application is consistent and objective - something that is very hard to achieve with a testing team. With the best will in the world, different people will build different test cases to test the same application.

6. Qualify

Qualify unites all aspects of the software quality life-cycle from requirements through to deployment, providing an integrated approach to solving your quality process and management challenges.

SmarteScript is a powerful, robust, proven automated functional test tool. SmarteScript is easy to learn with no scripting skilled needed - even for complex functions. Ramp-up quickly, making acceptance and deployment easy as well.

3. SmarteTime

The SmarteTime scheduling tool provides precise scheduling of when to run test scripts and on which workstations. It is network and storage aware. Set tests to run unattended - overnight or to avoid peak demand periods or planned maintenance.

4. Smartex

A run-time version of SmarteScript, delivers all of the power of SmarteScript for executing functional and regression testing with the exception of script creation and maintenance. SmarteX executes tests created in SmarteScript on additional workstations, significantly extending test lab capabilities at the best value.

5. TestSmart

TestSmart guarantees that the data you use to test an application is consistent and objective - something that is very hard to achieve with a testing team. With the best will in the world, different people will build different test cases to test the same application.

Test Management - This QA and test management tool ensures complete test coverage through every stage of the software development process, a must for any QA testing arsenal. Prioritize and report on key testing functions, account for risk, plan for coverage, ensure complete traceability, and control test execution – painlessly.

2. AQTime Pro

Performance Testing - Reduce source code analysis work from hours to minutes. This performance profiler and memory leak debugger delivers detailed reporting, so you know which module, class or line of code causes a problem.

3. LoadUI Pro

API Load Testing - With a visual, drag-and-drop interface, you can create, configure and redistribute your Load Tests interactively and in real-time. In a single test, LoadUI provides complete test coverage and supports all standard protocols.

4. LoadUIWeb Pro

Load Testing identifies and pinpoints serious bottlenecks, inside or outside your network at both the application and server levels allowing you to vet your entire application before launch.

5. SoapUI Pro

API Testing - A cross-platform testing solution for Web services and APIs, SoapUI Pro is loaded with features you need to rapidly create and run automated functional, regression, compliance and security tests in 1 environment.

6. TestComplete

Automated Testing - TestComplete fully supports web application functional testing. Use it to verify the functionality and reliability of your web sites and web applications before the go live. Create a web test in one browser in run it in others with little or no changes at all.

QA Wizard Pro automates the functional and regression testing of web, Windows, and Java applications, and load testing of web applications. Using a single application to perform both functional and load tests reduces your software investment and training time, and helps your team test more of an application in less time.

2. SoloBug

SoloBug is a stand-alone bug reporting application that is included with TestTrack Pro to simplify bug reports and feature requests for your customers. You can customize and distribute SoloBug to customers, beta testers, and other external team members.

3. SoloSubmit

Web-based SoloSubmit allows an unlimited number of users and customers to submit bug reports and feature requests directly to your TestTrack Pro projects. Included with TestTrack Pro, SoloSubmit makes it easy to integrate your web site feedback page with TestTrack Pro.

JIRA is the project tracker for teams planning, building, and launching great products.
Thousands of teams choose JIRA to capture and organize issues, assign work, and follow team activity.
At their desks, or on the go with the new mobile interface, JIRA helps teams get the job done.

JiffyTest helps Development, QA and DevOps teams across the organizations to automate their software testing with a few clicks. It is completely drag and drop which means even people with no technical experience can automate using Jiffy. With DevOps and Agile becoming the new norm in software development, Jiffy has become a tool of choice due to ease of use and the speed with which one can automate tests during a sprint. The cognitive engine of Jiffy helps software development organizations reduce redundant tests as Jiffy will recommend what needs to be tested based on the changes made. What it results in are lower efforts, cost savings, faster time to market – and to add to all this a collaborative platform for the entire IT organization.

What is Defect/Bug Life Cycle in Defect Tracking?

A defect in a Software testing process will undergo different status like New, Open, Assigned, Rejected, Fixed, Reopen, ReTest, Closed, Deferred etc. before being considered as Closed or Rejected or Deferred.

So there are 3 different situations possible here in any manual or automated testing in Defect Management.

New – Closed

New – Rejected

New – Deferred (Postponed)

The time taken for the defect to be closed or rejected or deferred is called as a BUG LIFE CYCLE.

Explanation for Status:

Status

Description

Set By

New

A new defect detected by a tester

Test Team

Open

A defect that has been reviewed and verified as a true defect

Test Lead

Rejected

A defect that has been found not to be a defect

Development Lead

Assigned

A defect that has been verified by development and is now assigned to developers for fixing

Development Lead

Fixed

A defect that has been fixed and is ready for retesting

Developer

ReTest

A defect that has been fixed by developers, which is once again tested to be closed.

Test Team

ReOpen

A defect that has failed testing during ReTest

Test Team

Closed

A defect that has successfully passed retesting

Test Team

Deferred

A defect that has been mutually agreed to move to the next release among Business, Test Lead and Development Lead

Client Test Manager

Defect Tracking:

With the email application example, we will explain the Defect/bug life cycle about how a new defect is created and tracked.

Once the email application development is completed, the tester tests the login page. While testing the login page, the tester founds out that the username field allows duplicate names. So the tester logs in to Test Management Software and registers a new defect.

Role of a Test Lead, Tester, Development Lead and Developer (DBA) in closing the defect:

Position

Role

Tester

Finds Defect and reports to the Testing Lead.

Test Lead

Verifies defect. Since this defect is a valid defect, creates a NEW status to the defect and this defect is passed to the Development Team.

Development Lead

Verifies defect. Since this defect is a valid defect, bug is assigned the status ASSIGNED and assigned to the developer (DBA).

Developer

Developer works on this issue and creates PRIMARY KEY on that table and changes the status to FIXED and this is reported to TESTING LEAD.

Testing Lead

Changes the status to RETEST and assigns it to the tester.

Tester

The tester retests and if everything is OKAY, status will be changed to CLOSED.

Other situations that arise during the handling of defects:

Tester reports to Testing Lead about a defect and Test Lead rejects it.

Test Lead is okay with the defect created by tester and reports the defect to the Development Lead and Development Lead rejects it.

Test Lead, Developer Lead is okay with defect and Developer works on the defect and reports to Testing Lead that the defect has been resolved. Again, Tester retests and reports that the defect has not been resolved and not closed. So, he reopens the defects once again.

Based on the priority or severity (The severity of the defect may be low, medium, high, critical and cosmetic etc. ) of the defect, the defect may not be closed at all or it may be deferred (postponed).

Defect/Bug Life Cycle Flow Chart:

Software Testing Methods:

In a software development life cycle (SDLC), a project is split into modules (also known as components or unit). This helps the BAs, SMEs, Developers and team and testers to work efficiently on that unit. In Data Models also, the entire project is split as subject areas (units). This will help the data modeling team to generate sql code for each subject area and share it with DBA team, print out for each subject area, and for understanding the business needs also.

In Software Testing Life Cycle unit testing, integration testing, system testing and acceptance called levels of testing:

Examples:

Telecommunication: When you subscribe with a service provider for phone facilities: Service Request, Service Order, Tickets are three different modules and data flows between them.

Home Mortgage:When you a buy a home in Loan: In USA, Loan Origination, Appraisal, Underwriting, Loan Approval, Loan Disbursement are different modules and data flows between them. After the payment is done usually banks pledge the loan with Fannie Mae or Freddie Mac, where data flows between systems.

Retail Transactions: When something is bought and when you pay for that, data flows from one system to another system. From your bank, payment gateways (www.ccvenue.com, www.ebs.in, www.payu.in) or payment system (PayPal) help to transfer the money to another system in a secured way.

Step1 – Unit Testing:

The testing is conducted by the developer whether functions related to the module are properly working.

Step2 – Integration Testing:

This is mainly used for checking the data flow between the entities or modules or Systems (Business to Business (B2B) transactions or Business to Customer (B2C)) transactions. This testing is conducted by the Testers.

Step3 – System Testing:

This testing is used mainly to check whether all functional and non-functional behavior of the system is working properly.

Step4 – Acceptance Testing:

This testing is done by the development team and users who use the application.

Alpha Testing: It is done by the developers or tester in a development environment.

Beta Testing: It is done by the client (customer) in their premises i.e. outside the development environment. BAs, SMEs test it and they share their feedback to development team. If there are any defects it will be rectified by development team.

User Acceptance Testing: This is the final testing done by the client (Business Users – BAs and SMEs) and they sign off. Then the product is released to actual users.

Other Testing Methods:

Regression Testing:

Whenever there are any updates (addition, deletion, modification), regression testing is done to whether the system behaves in a proper ways.

Example: Assume a table has composite primary keys and its primary keys are migrated to several child tables. When there is a need to delete one of the columns of the composite primary key, then that column will be deleted in the child tables also. To check whether there is any impact, again testing is done, which is called regression testing.

Smoke Testing:

There are several requirements in a project and each requirement has many functions. Build Team sets up the testing environment and before testing all functionalities, some basic functionalities are tested (smoke testing) and if it is okay, then detailed testing is done. If basic functionalities are not okay, then resources will be wasted in detailed testing. To avoid this smoke testing is done earlier.

White Box Testing:

Development Team writes code (source code) for different requirements. The tester understands and tests the source code to find out whether the programming logic, syntax is correct to meet the expectations of the system.

Black Box Testing:

Only functional behavior of the system is tested by the tester. There is no need to understand the source code.

Installation Testing:

Companies develop new products, then releases patch, versions etc to the customers. A customer, who already has the product, should upgrade their version to the latest updates. This testing focuses on the different problems that may arise when a product or an application is installed/uninstalled/re-installed/upgraded.

By typing incorrect information in the username or password or username/password and clicking the LOG IN button.

By providing no information in username/password.

By typing correct information in username and password fields.

If there are any defects, then the tester will record the information in a Test Management Tool. Example (HP’s QUALITY CENTER; previously called as TEST DIRECTOR). Until the defect is closed, the tester will follow up with other teams and close it. Note: Closing of a defect depends upon the priority of the issue.

Automated Testing:

Testing done by using software without human intervention is called automated testing. Functionality Testing and non-Functionality testing can be done with the help of these tools.

When you type mail.yahoo.com or www.gmail.com in the web browser, at times, these pages will not open quickly. Either it will be delayed or it will not open at all. The reason is that it is not able to withstand the load.

Load Testing/Stress: In this testing, the automated tool creates “n” (example: One Million users) number of virtual users and concurrently these user will login to the email application. If all users are able to login correctly and access the information, then everything looks okay. If there is a time delay or some errors or if it doesn’t open, then the tester figures out that the email application is not able to withstand the load/stress.

Volume Testing: To determine whether the system can handle huge volumes of data. Here the automated software enters data.