Thursday 1 January 2015

Understanding of Banking Domain

What is Testing?

QA:
Quality Analyst
Quality Analysis
Quality Assurance

Quality: End user/Customer/Client satisfaction is called Quality


To say software is a quality one, it has to satisfy four factors

1.Meet customer requirements
2.Meet customer expectations---->Technical Factors

3.Time to market
4.Cost to purchase    ----->Non-Technical Factors


Testing(QA) : It is a process to test an application with the intention of finding errors.

Terms for Software Failures
Depending on where you're employed as a software tester, you will use different terms to describe what happens when software fails. Here are a few:

Defect (Tester)
Variance
Fault
Failure
Problem
Inconsistency
Error (Developer)
Flaw
Incident
Bug (Client)

Manual Testing: It is a process to test an application by giving manually inputs and observing manually outputs.
or
Performing testing on App with human interaction.
Example: 100% Manual

Automation Testing/Test Automation: It is the process of test an application with the help of tool(s).
or
Performing testing on App with the help of third party tools.
Example:QTP,Selenium,LoadRunner,WinRunner,RFT(Rational Functional Tool (IBM),RQM(Rational Quality Management(IBM),QC (Quality Center(HP)....
40% ---> Humanbeing (Should develop Script)
60% --> Tool

Project:Collection of Enduser/Customer/Client requirements is called project.

Project : It is something developed based on a particular customer requirement and used by that particular customer only.

Example: CitiBankServices, SBIemployees.com, ApolloHospitals

Product: Already developed and tested which is live in the market is called product.

Product: Product is some thing that is developed based on the company’s specifications and used by multiple customers.

Example: google.com, yahoo.com,Samsung mobile....

Differnce between Software Project and Software Product

Software Product            Software Project
It is for Group of customers        It is for Specific Client or Company

Development and Testing continueous    There is a end point for deveopment and
process because keep on releasing    Testing in Project. If we complete all reqs
versions by versions in to market    no need to continue dev and testing.
Example: Operating System,DBs        Example: Nareshit.com

Client like people will conduct testing    Directly Client will perform testing in
in Product.            Project

Market Purpose            One Client Purpose

Annual maintenance contract will be     Conditional contract will be there for
there for new versions         supportmaintenance           

Example: Google,Gmail, Yahoo        Example: ICICI  netbanking

Software verification and validation
Verification: Are we building the software right? (does it match the specification)
Verification is the process confirming that something softwaremeets its specification. 

Validation: Are we building the right software?(is this what the customer wants).

Validation is the process confirming that it meets the user's requirements.

Error:DevTeam Level, Relted to source code, An error in a program like syntax error, runtime error, compilation error etc..,,

Defect: Deviation from the requirement

Bug: Client Level, Product Level.

Fault

Failure

Types of Teams:
1. DevTeam: To develop the application as per the client requirements.
2. QATeam: Test the Application whether devTeam has developed as per the requirements
Both team are stick to client requirements.

Why software has Bugs?
There are many reasons, let me bring up few reasons.
1. Poor Requirements (Unclear Requirements)
2. Programming errors
3. Software complexity
4. Changes in Requirements
5. Time pressure
6. Poor Project Management
7. Inefficient development (Poorly coded modules)
8. Poor Documentation
9. Other reasons

What are Quality Factors in Software?
We can say software is quality software if it satisfies below:
1. Software should be a bug free.
2. Software should develop within the budget.
3. Software should be developed within the time frame.
4. Software should be used for longer time.
5. Software should be easy to use and Simple to Understand.

History Software Testing:
In software testing it always refers to September 9th, 1945, when the first real bug traced an error in the Harvard Mark II, an electromechanical computer. In software testing following stages:

Until 1956 - Debugging oriented
1957-1978 - Demonstration oriented
1983-1987 - Destruction oriented
1983-1987 - Evaluation oriented
1988-onward- Prevention oriented

What is software?
A computer software or just software is a collection of programs, procedures that perform some tasks on a computer.

or

A set of instructions, stored digitally within the computer's memory, which tells the computer system what to do.

Categories/Types of software
Categories of software are
System Software
Application Software
Programming Software
Custom Software

System software
It provides the basic functions for computer usage and helps operating and managing computer operations. System Software is responsible for managing a variety of independent hardware components.
Examples are Operating Systems, Servers, Drivers etc.

Application Software
The softwares that are used to aid in any task that benefits from computation. Application Softwares are generally available and are ready to use.
Examples are Image editing softwares, MS Office, Games, Web browsers, databases etc.

Programming Software
The softwares which helps in developing other softwares are called programming softwares.
Examples are compilers, debuggers, text editors etc.

Custom Software
Softwares which are developed based on clients requirements are called Custom softwares.
Examples are Customer Relationship Management (CRM), Hospital Management System, Banking applications etc.

What is Quotation?
Quotation:- It is an approximate estimated cost with which the solution can be provided.

BIDDING THE PROJECT : Bidding the project is defined as request for proposal, estimation and signoff

What is Sign in?
It is the process in which an official agreement is done between the deadlines and the development company. In such a way that the specific project is accomplish with in specific budget that can be delivered by this specific deadlines.

KICKOFF MEETING:
It is a initial meeting conducted in the software company soon after the project is signed off in order to discus the over view of the project and to select a project manager for the project.

Usually High Level Manager, Project Manager, Technical Manager, Quality Managers, Test leads and Project leads will be involved in this meeting.

1.To discuss the overview of the project.
2.To discuss the nature of the customer.
3.To select the project team in terms of development team & quality team.

Sample Kickoff Meeting Agenda:
1 Welcome and Project Overview
2 Introductions: Roles and Responsibilities
3 Project Intent
4 Intent Q&A (Questions and Answers)
5 Project Approach
6 Approach Q&A
7 Breakout Reviews
8 Breakout Q&A
9 Stakeholder Commitments
10 Progress and Next Steps

PIN (Project Initiation Note)
PIN is a mail prepaid by the project manager and send to the CEO of the software company in order to get the permission to start the project development activities.


Pin Document Format
Content                 Description
Project Name            Unique name to indicate software product
Project ID                A unique identifier
Project Description            Summary of the project
Start date/End date            Starting and ending dates of the project
Project Manager            Author of this document
Project Leader/Business Analyst        Name of the developer, who is responsible                     for SRS document development.Effort Estimate                     (in man months)Number of persons/months                     approximately to complete this project.
Software and Hardware resources    List of expected software and hardware                         resources to develop the software product  in                     this project.

Once the PM get the green signal from the C.E.O., he will start the development activities with the systematic, scientific project development process known as “Software development life cycle” (SDLC)



DEFINITION OF TEST

A Test is a deliberate action or experiment to find out how well something works.

A Test is an act of using something to find out whether it is working correctly or how effective it is.

A Test is a procedure for critical evaluation; a means of determining the presence, quality, or truth of something.

A Test is a critical examination, observation, or evaluation.

A Test is the means by which the presence, quality, or genuineness of anything is determined.

A Test is trying something to find out about it.

A Test is a process used to discover whether equipment or a product works correctly, or to discover more about it.

It is the process of Creating, Implementing and Evaluating tests.

Testing measures software quality

Testing can find faults. When they are removed, software quality is improved.

Testing is executing a program with an indent of finding Error/Fault and Failure.

IEEE Terminology : An examination of the behavior of the program by executing on sample data sets.