Software Testing Best Practices

The Foundational practices are the rock in the soil that protects your efforts against harshness of nature, be it a redesign of your architecture or enhancements to sustain unforeseen growth. Every time we conclude a study or task force on the subject of software development process I have found one recommendation that comes out loud and clear. Please read here Software Testing Best Practices [catlist id=176]. Read More

Bug Reporting – Art and Advocacy

Bug Reporting – Art and Advocacy This article highlights the essence and traits of finding bugs. It leaps to redefine the art, a tester should inculcate while finding a bug. It enumerates various artifacts in reporting a bug. Whereas, also voices the advocacy on the bugs that has been reported. The basic amenity of a tester being to fight for the bug until it is fixed. Introduction: As testers, we all agree to the fact that the basic aim of the Tester is to decipher bugs. Whenever a build appears… Read More

Software Testing Myths

Software Testing Myths Any IT professional is sure to know the different phases of the Software Development Life Cycle or SDLC, namely Feasibility Study, Requirement Analysis, Design, Construction or Coding, Testing, Implementation, Maintenance & Support – the activities carried out in each phase & their significance. But, very few agree on the importance of Software Testing phase. “Software implementation is a cozy bonfire, warm, bright, a bustle of comforting concrete activity. But beyond the flames is an immense zone of darkness. Testing is the exploration of this darkness.” – extracted… Read More

Challenges in Testing Web Based Applications

Challenges in Testing Web Based Applications In this tutorial you will learn about Challenges in Testing Web Based Applications Introduction, Why testing Web Applications is different? Factors effecting Testing of Web Applications, Why technology platforms affect testing? Challenges in Testing Web Based Web Applications, Summary. Introduction: Web based Applications are increasingly becoming more feature rich, important and also the most popular means for developing commercial systems. Most companies opt for developing web based software wherever possible. This helps in catering to large number of end users. The deployment of the… Read More

Auditing Software Testing Process

Auditing Software Testing Process In this tutorial you will learn about Auditing Software Testing Process – Introduction, Types of Testing Process Audits, Audit to verify compliance, Audit for process improvement/problem solving, Audit for Root Cause Analysis, Internal Audits, External Audits, Why Audit Software Testing Process? How to Audit, What can be audited? and Summary. Introduction: To ensure transparency and reliability of the IT systems it may be necessary to audit the Software Development Processes including the most important aspect – Software Testing Process. Auditing is an important activity in organizations.… Read More

Testing for Agile Software Development

Testing for Agile Software Development In this tutorial you will learn about Testing for Agile Software Development – Background, Understanding Agile Software Development, How is Testing approach different in an Agile Development Scenario? What to test? Typical bugs found when doing agile testing? Steps Taken to Effectively Test in Agile Development Methodology, Ensuring software test coverage and Summary Background: To understand the Testing Process in an Agile Development Methodology, it is important to understand the Agile Development paradigm. Agile Development paradigm is not very new. Although the Agile Software Development… Read More

What is User Acceptance Testing?

What is User Acceptance Testing? Introduction: This article attempts to explain the process of User Acceptance Testing. Once the application is ready to be released the crucial step is User Acceptance Testing. In this step a group representing a cross section of end users tests the application. The user acceptance testing is done using real world scenarios and perceptions relevant to the end users. What is User Acceptance Testing? User Acceptance Testing is often the final step before rolling out the application. Usually the end users who will be using… Read More

System Testing: Why? What? & How?

System Testing: Why? What? & How? Introduction: ‘Unit testing’ focuses on testing each unit of the code. ‘Integration testing’ focuses on testing the integration of “units of code” or components. Each level of testing builds on the previous level. ‘System Testing’ is the next level of testing. It focuses on testing the system as a whole. This article attempts to take a close look at the System Testing Process and analyze: Why System Testing is done? What are the necessary steps to perform System Testing? How to make it successful?… Read More

What is Regression Testing?

What is Regression Testing? Introduction: This article attempts to take a close look at the process and techniques in Regression Testing. What is Regression Testing? If a piece of Software is modified for any reason testing needs to be done to ensure that it works as specified and that it has not negatively impacted any functionality that it offered previously. This is known as Regression Testing. Regression Testing attempts to verify: – That the application works as specified even after the changes/additions/modification were made to it – The original functionality… Read More

Integration Testing: Why? What? & How?

Integration Testing: Why? What? & How? Introduction: As we covered in various articles in the Testing series there are various levels of testing: Unit Testing, Integration Testing, System Testing Each level of testing builds on the previous level. “Unit testing” focuses on testing a unit of the code. “Integration testing” is the next level of testing. This ‘level of testing’ focuses on testing the integration of “units of code” or components. How does Integration Testing fit into the Software Development Life Cycle? Even if a software component is successfully unit… Read More

Unit Testing: Why? What? & How?

Unit Testing: Why? What? & How? In this tutorial you will learn about unit testing, various levels of testing, various types of testing based upon the intent of testing, How does Unit Testing fit into the Software Development Life Cycle? Unit Testing Tasks and Steps, What is a Unit Test Plan? What is a Test Case? and Test Case Sample, Steps to Effective Unit Testing. There are various levels of testing: Unit Testing Integration Testing System Testing There are various types of testing based upon the intent of testing such… Read More

Effective Software Testing

Effective Software Testing In this tutorial you will learn about Effective Software Testing? How do we measure ‘Effectiveness’ of Software Testing? Steps to Effective Software Testing, Coverage and Test Planning and Process. A 1994 study in US revealed that only about “9% of software projects were successful” A large number of projects upon completion do not have all the promised features or they do not meet all the requirements that were defined when the project was kicked off. It is an understatement to say that – An increasing number of… Read More

Metrics Used In Testing

Metrics Used In Testing In this tutorial you will learn about metrics used in testing, The Product Quality Measures – 1. Customer satisfaction index, 2. Delivered defect quantities, 3. Responsiveness (turnaround time) to users, 4. Product volatility, 5. Defect ratios, 6. Defect removal efficiency, 7. Complexity of delivered product, 8. Test coverage, 9. Cost of defects, 10. Costs of quality activities, 11. Re-work, 12. Reliability and Metrics for Evaluating Application System Testing. The Product Quality Measures: 1. Customer satisfaction index This index is surveyed before product delivery and after product… Read More

Syllabus for Certified Software Tester

Syllabus for Certified Software Tester In this tutorial you will learn about Syllabus for Certified Software Tester, Skill Categories, Test Principles and Concepts, Tester’s Role in Software Development and Acquisition, Test Management, Build the Test Environment, Risk Analysis, Test Planning Process, Test Design, Performing Tests, Defect Tracking and Correction, Acceptance Testing, Status of Testing, Test Reporting. The Certified Software Test Exam concentrates more on the following areas: Knowledge on the Test Environment. Ability to plan tests. Ability to execute tests, design test cases, use test tools, etc. Ability to develop… Read More

Software Quality Management

Software Quality Management This article gives an overview of Software Quality Management and various processes that are a part of Software Quality Management. Software Quality is a highly overused term and it may mean different things to different people. You will learn What is Software Quality Management?, What does it take to Manage Software Quality?, Quality Planning, Quality Assurance, Quality Control, Importance of Documentation and What is Defect Tracking? The definition of the ISO 8204 for quality: “Totality of characteristics of an entity that bears on its ability to satisfy… Read More

Software Project Planning

Software Project Planning This article explores the various aspects of Software Project Planning and Scheduling. Project planning is an aspect of Project Management, which comprises of various processes. The aim of theses processes is to ensure that various Project tasks are well coordinated and they meet the various project objectives including timely completion of the project. What is Project Planning? Project Planning is an aspect of Project Management that focuses a lot on Project Integration. The project plan reflects the current status of all project activities and is used to… Read More

Software Cost Estimation

Software Cost Estimation This article aims to study the process of Software Cost Estimation and its impact on the Software Development Process. We also highlight the various challenges involved in Software Cost Estimation and common solutions to navigate through these challenges. Background: Software Cost Estimation is widely considered to be a weak link in software project management. It requires a significant amount of effort to perform it correctly. Errors in Software Cost Estimation can be attributed to a variety of factors. Various studies in the last decade indicated that 3… Read More

Risk Analysis

Risk Analysis In this tutorial you will learn about Risk Analysis, Technical Definitions, Risk Analysis, Risk Assessment, Business Impact Analysis, Product Size Risks, Business Impact Risks, Customer-Related Risks, Process Risks, Technical Issues, Technology Risk, Development Environment Risks, Risks Associated with Staff Size and Experience. Risk Analysis is one of the important concepts in Software Product/Project Life Cycle. Risk analysis is broadly defined to include risk assessment, risk characterization, risk communication, risk management, and policy relating to risk. Risk Assessment is also called as Security risk analysis. Technical Definitions: Risk Analysis:… Read More

Technical Terms Used in Testing World

Technical Terms Used in Testing World In this tutorial you will learn about technical terms used in testing world, from Audit, Acceptance Testng to Validation, Verification and Testing. Audit: An independent examination of a work product or set of work products to assess compliance with specifications, standards, contractual agreements, or other criteria. Acceptance testing: Testing conducted to determine whether or not a system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system. Alpha Testing: Acceptance testing performed by the customer in… Read More

Bug Life Cycle & Guidelines

Bug Life Cycle & Guidelines In this tutorial you will learn about Bug Life Cycle & Guidelines, Introduction, Bug Life Cycle, The different states of a bug, Description of Various Stages, Guidelines on deciding the Severity of Bug, A sample guideline for assignment of Priority Levels during the product test phase and Guidelines on writing Bug Description. Introduction: Bug can be defined as the abnormal behavior of the software. No software exists without a bug. The elimination of bugs from the software depends upon the efficiency of testing done on… Read More

So you want to be a Software Tester?

So you want to be a Software Tester? Author: Carol My best friend is actually one of the best software testers I have ever met. When I began testing for her consultating company I sincerely thought I’d found the perfect job. I could stay at home and work independently. I received my projects, I completed them and I got paid. Alot. It seemed the perfect scenario until one day I realized that I just didn’t enjoy what I was doing. Testing was repetitious, often boring and I found myself dreading… Read More

Automated Testing Best Practices

Automated Testing Best Practices: This article explains about many topics like The Case for Automated Testing,  Why Automate the Testing Process?, Using Testing Effectively, Reducing Testing Costs, Replicating testing across different platforms, Greater Application Coverage, Results Reporting, Understanding the Testing Process, Identifying Tests Requiring Automation and Task Automation and Test Set-Up.The Case for Automated Testing Today, rigorous application testing is a critical part of virtually all software development projects. As more organizations develop mission – critical systems to support their business activities, the need is greatly increased for testing methods that support… Read More

Database Checkpoints in WinRunner

Every application includes a database. The database is used to store the information. When an application is being tested, the database of that application should also be tested in order to assure that the values are entered into the database correctly.Database Checkpoints in WinRunner Every application includes a database. The database is used to store the information. When an application is being tested, the database of that application should also be tested in order to assure that the values are entered into the database correctly. In Winrunner, for checking databases,… Read More

Data Driven Tests using WinRunner

This article explains about Steps involved in creating data driven tests, Data Driver wizard features in WinRunner and adding Data to the Data Table.Data Driven Tests using WinRunner An application has to be tested with multiple sets of data. The automation test script written for one input can be used for number of inputs using data driven test in Winrunner. The test script has to be converted into the data driven test by creating a corresponding data table with the sets of data you want to test. Steps involved in creating data… Read More

Why Choose LoadRunner for Performance testing

This article start with brief introduction to Performance Testing, Why should you automate performance testing, What are the LoadRunner components, LoadRunner Terminology and Load Testing Process.Performance testing Introduction Performance Testing is the process by which software is tested and tuned with the intent of realizing the required performance. The performance testing part of performance engineering encompasses what’s commonly referred to as load, spike, and stress testing, as well as validating system performance. Performance can be classified into three main categories: • Speed — Does the application respond quickly enough for… Read More

Testing : Introduction to CMM

Quality software should reasonably be bug-free, delivered on time and within budget. It should meet the given requirements and/or expectations, and should be maintainable.  In order to produce error free and high quality software certain standards need to be followed. Software Quality: Quality software should reasonably be bug-free, delivered on time and within budget. It should meet the given requirements and/or expectations, and should be maintainable. In order to produce error free and high quality software certain standards need to be followed. Quality Standards ISO 9001: 2000 is Quality Management… Read More

Automated Testing Advantages, Disadvantages and Guidelines

This article start with brief Introduction to Automated Testing, Different methods in Automated Testing, Benefits of Automated Testing and the guidelines that Automated testers must follow to get the benefits of automation.Advantages of Automated Testing Introduction: "Automated Testing" is automating the manual testing process currently in use. This requires that a formalized "manual testing process", currently exists in the company or organization. Automation is the use of strategies, tools and artifacts that augment or reduce the need of manual or human involvement or interaction in unskilled, repetitive or redundant tasks.… Read More

Testing Types

This article explains about different testing types Unit Test. System Test, Integration Test, Functional Test, Performance Test, Beta Test and Acceptance Test.Introduction: The development process involves various types of testing. Each test type addresses a specific testing requirement. The most common types of testing involved in the development process are: • Unit Test. • System Test • Integration Test • Functional Test • Performance Test • Beta Test • Acceptance Test. Unit Test The first test in the development process is the unit test. The source code is normally divided… Read More

WinRunner – TSL Functions

This article explains about Types of TSL Functions like Analog functions, Context Sensitive functions, Standard functions and Customization functions.WinRunner – TSL Functions Introduction: TSL stands for “Test Scripting Language”. The test scripts are written in Test Scripting Language in winrunner. TSL is an enhanced, C-like programming language designed for testing. The advantages of TSL are:     1. It is easy to use. 2. It is similar to other programming languages. So a person who is in touch with basic concepts of programming can write test scripts easily. 3. It… Read More

Life Cycle of Testing Process

This article explains about Differant steps in Life Cycle of Testing Process. in Each phase of the development process will have a specific input and a specific output. Once the project is confirmed to start, the phases of the development of project can be divided into the following phases: Software requirements phase. Software Design Implementation Testing Maintenance In the whole development process, testing consumes highest amount of time. But most of the developers oversee that and testing phase is generally neglected. As a consequence, erroneous software is released. The testing… Read More

Best Practices in Automated Testing

This article talks about many interesting things like what’s the Case for Automated Testing, Why Automate the Testing Process?, Using Testing Effectively, Reducing Testing Costs, Replicating testing across different platforms, Greater Application Coverage, Results Reporting, Understanding the Testing Process, Typical Testing Steps, Identifying Tests Requiring Automation, Task Automation and Test Set-Up and Who Should Be Testing?.The Case for Automated Testing Today, rigorous application testing is a critical part of virtually all software development projects. As more organizations develop mission – critical systems to support their business activities, the need is… Read More

A Unit Ttesting Framework for the Oracle PL/SQL Language

The utPLSQL unit testing framework consists of several different elements: A set of tables to hold information about unit tests and test suites. A set of packages that allow you to run tests, build test packages and access information about tests you have run.  We learn best by following the examples of those who have gone before us. So you will find in this document sample test packages and different approaches to using utPLSQL to test your PL/SQL code like it has never been tested before! http://utplsql.sourceforge.net/Doc/examples.html How to Build… Read More

Usability Engineering – Usability Testing

Usability Engineering, an empirical science has quite a simple definition. It studies the human interaction and cognitive behavior of an individual with respect to performing as task. It could be as simple as a driving a vehicle or using a product. Users interaction in performing a task should be in sync with the workflow of the product. Usability Engineering as a science helps in achieving this goal. Usability for a Product A Product should be usable. It means that people can use a product easily and efficiently to accomplish their… Read More

Functional Testing Tools

Here is the list of free Open Source Functional testing tools available.  If you know of any other , please send them over, so we can include them. Abbot Java GUI Test Framework http://abbot.sourceforge.net/ Description: The Abbot framework provides automated event generation and validation of Java GUI components, improving upon the very rudimentary functions provided by the java.awt.Robot class (A Better ‘Bot). The framework may be invoked directly from Java code or accessed without programming through the use of scripts. It is suitable for use both by developers for unit… Read More

SDLC : Software Development Life Cycle

This article explains about SDLC : Software Development Life Cycle  which is also known as Classic Life Cycle Model or Linear Sequential Model.   Author:  Madhavi Bade, QA Analyst.SDLC : Software Development Life Cycle The following are the actives of the SDLC   1) System engineering and modeling 2) Software require analysis 3) Systems analysis and design 4) Code generation 5) Testing 6) Development and Maintenance System Engineering and Modeling In this process we have to identify the projects requirement and main features proposed in the application. Here the development team visits the… Read More

QuickTest Professional 8.0 CBT Tutorial and Evaluation Copy

Please find the step to get QuickTest Professional 8.0 CBT Step by Step Tutorial and Evaluation copy of the software. It takes couple of min to register and you get everything you need to learn and practice. The best part is comes with 1200 Page PDF Manual with kind of step by step instructions along with screen shots.Introduction to QuickTest Professional 8.0, Computer Based Training Register for free account, you will be able to download QuickTest CBT and Evaluation Copy software. QuickTest Professional is today’s answer for keeping pace with… Read More

SQL Unit Testing Tools

Please find the Open source SQL Unit Testing tools available. SQL Unit Testing Tools SPUnit SPUnit  Description: SPUnit is an application of the popular xUnit framework concept to enable unit testing of SQL Server stored procedures.  SPUnit is (loosely) based on the xUnit family of Unit Test Frameworks. It is intended for testing MS SQL Server stored procedures using actual stored procedures. The idea was to make it really painless to test the code in stored procedures, and facilitate test-first programming of stored procs. It is a port inspired by… Read More

Microsoft .NET Unit testing Tools

Here are the few Microsoft .NET Unit testing Tools available. Most of them are opensource and free.Microsoft .NET Unit testing Tools csUnit http://www.csunit.org/ Description: csUnit is a unit testing framework for the Microsoft .NET Framework. It targets test driven development using C#, Visual Basic .NET, and managed C++. Requirement : csUnit has been tested using the Microsoft .NET framework 1.0 Service Pack 2 runtime on an Intel-compatible platform. Unit Testing with C# Tutorial How do I make use of the Assert class? How do I implement simple test cases for… Read More

XML Unit Testing tools Series 1

Avignon allows for true test-first design by letting users express test cases in XML prior to the start of unit development. Avignon is an acceptance test system that allows you to write executable tests in a language that you define.  It uses XML to define the syntax of the language but, if you choose to extend the language, leaves the semantics of the tests up to you.FeaturesRunning Tests : Avignon is implemented in Java, and is configurable for many different forms of test execution.Requirement: Junit, HTTPUnit, JAXP, Xalan Avignon is… Read More