Saturday, June 13, 2009

Fundamental of Testing

Lets start from the very basic thing by introducing ourselves to testing. So, the question arises is:
  • What is Testing?
In general, testing is finding out how well something works. Testing is commonly assumed to mean executing software and finding errors. In terms of human beings, testing tells what level of knowledge or skill has been acquired. In computer hardware and software development, testing is used at key checkpoints in the overall process to determine whether objectives are being met. For example, in software development, product objectives are sometimes tested by product user representatives. When the design is complete, coding follows and the finished code is then tested at the unit or module level by each programmer; at the component level by the group of programmers involved; and at the system level when all components are combined together. At early or late stages, a product or service may also be tested for usability.

At the system level, the manufacturer or independent reviewer may subject a product or service to one or more performance tests, possibly using one or more benchmarks. Whether viewed as a product or a service or both, a Web site can also be tested in various ways - by observing user experiences, by asking questions of users, by timing the flow through specific usage scenarios, and by comparing it with other sites.


  • Why do we need Testing?
This is a right question because, prior to the concept of TESTING software as a ‘Testing Project’, the testing process existed, but the developer(s) did that at the time of development.

But you must know the fact that, if you make something, you hardly feel that there can be something wrong with what you have developed. It's a common trait of human nature, we feel that there is no problem in our designed system as we have developed it and it is perfectly functional and fully working. So the hidden bugs or errors or problems of the system remain hidden and they raise their head when the system goes into production.

On the other hand, its a fact that, when one person starts checking something which is made by some other person, there are 99% chances that checker/observer will find some problem with the system (even if the problem is with some spelling that by mistake has been written in wrong way.). Really weird, isn't it? But that’s a truth!

Even though its wrong in terms of human behavior, this thing has been used for the benefit of software projects (or you may say, any type of project)। When you develop something, you give it to get checked (TEST) and to find out any problem, which never aroused while development of the system. Because, after all, if you could minimize the problems with the system you developed, it’s beneficial for yourself. Your client will be happy if your system works without any problem and will generate more revenues for you.

BINGO, it's really great, isn't it? That's why we need testing!

  • Testing What?
Application that needs to be tested can be of many types. Few of them are:
  1. Web Application
  2. Client Server
  3. Desktop Application

Content of CourseWare

Complete CourseWare is divided into sections.

First section, FUNDAMENTAL TESTING, focuses on testing definition, why do we need testing, types of testing, testing methods, what are the causes of bugs, bug life cycle, bugs content, manual and automation testing, SQA (Software Quality Analyst, Software Quality Assurance), Quality Control, Testing techniques covering WBT, BBT, Gray Box testing and other testing concepts like Reviews, Walkthroughs, Inspection, Verification and Validation.

Second section, QUALITY CONCEPT, In this section, we tried to focus on Quality. Software quality is the “Conformance to explicit stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software.

Two kinds of quality may be encountered: Quality of design and quality of conformance. Quality of design refers to the characteristics that designers specify for an item. Quality of conformance is the degree to which the design specifications are followed during manufacturing.

This section also focuses on various quality standards like CMM, CMMI, ISO

Third section, STLC,
STLC is also known as Software Testing Life Cycle. Software testing life cycle identifies what test activities to carry out and when (what is the best time) to accomplish those test activities. This topic will be covered in this section along with example, deliverables that are outcomes of the various phases of testing life cycle.

This will also cover various testing approaches that are followed in software testing.

Fourth section is AUTOMATION TESTING:
Test automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. This topic will be covered in this section along with Test Tool Categories and various testing frameworks.

Fifth section, SDLC covers software development life cycle (SDLC), phases of SDLC, various matrix that are prepared in different phases and various SDLC models
This section also co-relates the various types of testing performed in different phases of Software Development Life Cycle.

Sixth section, RISK & PROJECT MANAGEMENT:
This section covers an overview of risk and project, how to manage risk, steps that are followed to manage risk. It also covers the management of project detailing the concept from project initiation phase to completion of the project.


Guys, don't worry if u can't find everything, its under progress and will soon be available for all of us.

Sunday, June 7, 2009

Introduction

This doc will guide new joiners through step-by-step process of testing. Even people who are interested in testing will get good understanding of the concept by going through it.

This CourseWare defines the training and qualification requirements for understanding the basic concept of Project Management, Software Engineering, Software Testing, Risk Management and different types of metrics and deliverables that help in improving the Quality of the Process and Product.

This is designed in a way that gives the fundamental knowledge of testing and then leading the reader in more depths of testing, covering the quality standard, SDLC and other related topics and then finally covering project and risk management.

This article will direct fresher about Testing, its importance, types of testing and other manual testing fundamentals

Monday, June 1, 2009

SDLC

Its under progress and will soon be available .