Who is a Business Analyst?
Business Analysts have emerged to have a key role in recent
business scenarios. Some people think that the role of a Business
Analyst is to make money for the organization, which may not be true
in direct context. But indirectly, the action and decision taken by
Business Analysts do leave an impact on the financial prospects of
the organization.
A primary job responsibility of Business Analyst is to communicate
with all stakeholders & to elicit, analyze and validate the requirements
for changes to business processes, information systems, and
A professional business analyst plays a big role in moving an
organization toward efficiency, productivity, and profitability.
Before we jump into the tutorial, we will see some basic perspective
of a Business Analyst to help the organization succeed. The foremost
priority for any business analyst will be to try understanding following
Understand what business does and how it does
Determine how to improve existing business processes
Identify the steps or tasks to support the implementation of new
Design the new features to implement
Analyze the impact of implementing new features
Implement the new features
Different Business Analyst Role
Business Analyst can be from any sector, and the role differs based
on the sector. Business Analyst are classified into various categories
Business Analyst
Business Process Analyst
IT Business Analyst
Business System Analyst
System Analyst
Data Analyst
Functional Architect
Usability or UX Analyst
Characteristics of a good Business Analyst
Basically, a good business analyst is judged on these four attributes

Typical Qualities of a Good Business 

Analytical skills­ An outstanding analytical skills will separate
out a good business analyst. A good part of BA role includes
analyzing   data,   workflow,   user   or   stakeholders   inputs,
documents, etc.
Leadership skills­ directing team members, forecasting budget,
helping team members with the problem, etc.
Business   process   and   planning­   Planning   the   project   scope,
understanding   and   implementing   requirement   of   project,
identifying resources required for the project and so on
Technical skill­ If a business analyst is in the IT sector, few
technical aspect are expected to know like operating systems,
hardware   capabilities,   database   concepts,   networking,   SDLC
methodology, etc.

Tools of the Trade

To make their work easier, the business analyst often depends
on tools like
TopTeam Analyst: This tool helps in providing a complete 
solution for requirements gathering and management
SmartDraw: It is a graphic diagramming tool that use stencils 
for organizational charts, swim lanes, data flow diagram, etc.
Blueprint: This tool produces a blue print of the project 
artifacts like development models, test scenarios, use cases, 
flow charts, etc. to ensure that everything is falling in line and 
as per expectation
Survey Monkey: It allows you to send survey to stakeholders, 
capture their feedback, rank and prioritize their view and turn 
them into requirements
There are many other tools like iServer, 

Meetingsense,Ravenflow,AnalystPro, which could be used by 
Business Analyst during the project.


As per the International Institute of Business Analysis (IIBA), 
CBAP (Certified Business Analysis Professional) certification 
is a recognized certificate for a professional Business Analyst. 
They provide two types of certifications. The certification 
exam is computer based and consists of multiple choice 
Certification of Competency in Business Analysis: Pre­
requisite for this certification is atleast 3750 hours of work 
Certified Business Analysis Profession (senior level): Pre­
requisite for this certification is atleast 7500 hours of work 
For off­shore students, they can appear certification exam 
online. For more information, you can visit the website.


Job prospectus for Business Analyst rises every year, 
especially for the IT sector. The average salary of business 
analyst is estimated around $80,000 ­ $130, 000, even at entry 
International Institute of Business Analysis (IIBA) is growing 
exponentially indicating increasing demand of Business 
Analyst. Business Analyst always remain an organization 
priority since they have to work in a close proximity to top 
executives, clients, and stakeholders.
According to U.S Bureau of Labor Statistics, the BA job are 
predicted to increase by 19% between 2012 and 2022.


The business analyst role is promising and has to deal with 
different layers of an organization. Business analyst are 
classified into various categories like Business Process 
Analyst, IT Business Analyst and so on.
A good business analyst should encompass skills like
Analytical skills
Leadership skills
Business process and Planning
Technical Skills
Various tools that can help Business Analyst are TopTeam 
Analyst, SmartDraw, Blueprint, etc.
Online certification course for BA available by recognized 
institute IIBA
According to U.S Bureau of Labor Statistics, the BA job are
predicted to increase by 19% between 2012 and 2022.

Stakeholder Needs Analysis
Stakeholder Analysis is done to map the interest of your 
stakeholders. It is a process of systematically analyzing and 
gathering qualitative information to determine whose interest 
should be taken into account.
Stakeholder   Analysis   is   important   because   it   helps   project
leaders   and   managers   to   access   a   stakeholder's   interest,
positions, alliances and knowledge related to the project.

When Stakeholder Analysis need to be 

 a stakeholder analysis will be useful. etc. less interested people­ ­ Manage Low power. Such analysis is helpful in the drafting of a log  frame. your family. interested people ­ Keep sat High power. stakeholder analysis should be the part of it. and evaluation in the form of a 'logframe matrix'. Whenever log frames are reconsidered during the life  cycle of a project. less interested people ­ Keep inf .  senior executives. Step 2) Assess how those stakeholders could be impacted or  have an effect on the organization Step 3) Prioritize your Stakeholders­ StakeHolder Type Action High power. your team. Log frame is nothing but a general approach to project  planning. prospective customers. Which  means whenever mid­term reviews or annual monitoring is  handled. monitoring. Stakeholders Categorization Internal stakeholders External stakeholders Within the organization: Employees and Management Outside the organization: Gove Stakeholders are categorized into two categories Process for Stakeholder Analysis Following are the primary aspect needs to be considered for  stakeholder analysis Step 1) Identify your stakeholders: Your boss. interested people ­ Monitor Low power.Stakeholder analysis should always be done at the beginning of a project.

 stakeholder) Step 5) Prioritize. reconcile and balance stakeholders Step 6) Align significant stakeholder needs with organizations  strategies and actions Things to take care while dealing with stakeholders Could you eliminate processes. which do not add stakeholder  value? How would you communicate with stakeholders? Do your communications encourage stakeholder exchange? Do you communicate the stakeholder the value of the deal? Important questions to ask for  Stakeholder Analysis Different attribute check for  stakeholder Question to ask your stakeholders Identification of stakeholder Who is paying for the project? Who will receive the deliverables or profits Both from your organization and client orga implement the project? Identify the expert for the project domain in Interest What direct benefit do stakeholders expect  What outcomes do stakeholders expect as a What changes do stakeholders need to mak Are there any conflicts of interest amongst  Influence What legitimate authority do stakeholders h Who controls the project assets and resourc What degree of influence or negotiation pow .  stakeholder.• • • • Step 4) Identify areas of conflicts (organization vs. stakeholder vs.

 Accept stakeholders as they are For guaranteed success. ensure full confidentiality to all  Consult . Make sure. you need to figure out when stakeholders will become  involved in the following­ Project Vision Project Scope Definition Business Process Analysis Needs Elicitation Requirement Validation Design reviews User acceptance testing You can create a "Participation Matrix Table" for the  stakeholders as given below Participation Type Inform Needs Assessment Planning Implement Monitoring & Evaluation • • • • Tips to manage your Stakeholders Do not complain. get the key leadership involved. you involve your stakeholders early in the business analysis process In case of a sensitive issue.in the organization? Impact • • • • • • • How much impact stakeholder could have o affect the success of the project Also.

Each   phase   may   involve   a   lot   of   paperwork   and   approval procedure. Let see some of the common requirement lifecycle required to know for a Business Analyst. Once the requirement is gathered. Requirement Definition It is one of the primary phases of the requirement gathering  process commonly known as Requirement extraction. Waterfall. These requirements are analyzed further to prepare facts and  figures for a business analyst to track possible result based on  analysis. etc.• stakeholders to win their trust.   It   also   deals   with   the   project   documents   like   a project proposal. To avoid conflicts. help all stakeholders in realizing their  personal gains from the project. Incremental. project management plan. project scope. Requirement Validation The requirement validation phase includes analyzing the needs  or conditions required to meet a new or altered product  . it can be organized in folders logically as per product release or sprint. and the business case. Lifecycle of a Requirement Requirement   lifecycle   involves   a   number   of   phases   and   at times   it   can   be   a   complicated   process. This procedure is referred as Impact Assessment.   The   nature   of   the process   depends   on   the   methodology   you   choose   for   your software development like Agile.

 in context to banking application the functional  requirement will be when customer selects "View Balance"  . Requirement validation includes checking the  specification. Learn Software Requirements  Analysis with Case Study Software requirement is a functional or non­functional need to  be implemented in the system. For the success of any project. For example. the end product   will   get   affected   adversely. Requirement Documentation • • • • Requirement documents should cover following things Project stakeholders requirement Business analysis plan Current state analysis Scope statement specification Requirement Management Requirement   Management   process   includes   planning.   There   are   requirement management tool available online which help you to manage the requirement with minimum hurdles. High Fidelity Simulation. There are requirement validation tools that do validation with  very less human intervention.  Traceability Analysis. etc. monitoring. analyzing. Functional means providing  particular service to the user. validating requirements is very  important. wireframe.considering needs of the various stakeholders. If the requirement is not managed well. communicating and managing of those requirements.

• • they must be able to look at their latest account balance. Learn more now • • Types of Requirements Business requirements: They are high­level requirements that  are taken from the business case from the projects. a non­functional  requirement is where every page of the system should be  visible to the users within 5 seconds. it can be a  performance requirement. etc. The business requirement that is  decided for India is account summary and fund transfer while  for China account summary and bill payment is decided as a  business requirement  Country Company providing Banking Functionalities or services India Account Summary and Fund Transfer China Account Summary and Bill Payment Architectural and Design requirements: These requirements are more detailed than business requirements. basically software requirement is a Functional or Non­functional need that has to be implemented into the system. Software requirement can also be a non­functional. a mobile banking service system provides banking  services to Southeast Asia. So. For example. It determines the  overall design required to implement the business requirement. For our educational organization the architectural and design  use cases would be login. Software  requirement are usually expressed as a statements.  . course detail.For  example. The requirement  would be as shown below.

 It can be in form of  user stories which is really describing everyday business  language.• Banking use case Requirement Bill Payment This use case describes how a customer  Payment Facility. He ca The actors starting this use case are bank System and Integration requirements: At the lowest level. modify. But still there are  other sources of requirements that you can consider for the  requirement or information. The requirements are in abundant details so that  developers can begin coding.Here in example of Bill Payment  module where requirement will be mentioned for adding a  Biller Bill Payment Requirements Add Billers Utility Provider Name Relationship/Customer Number Auto Payments – Yes/No Pay Entire Bill – Yes/No Auto Payment Limit – Do not pay if Bil Sometimes for some project you might not receive any  requirements or documents to work with. The customer will can see a dashboard o can add. It is detailed  description of each and every requirement. So the other sources for  requirement you can rely on are . we  have system and integration requirements. and delete a biller deta alerts for different billing actions. so that you can base your software or test design on these requirements.

How to Analyze Requirements • • Consider example of an educational software system where a  student can register for different courses. some of the bug reports are  turned into enhancement request which may be implemented  into current version Look into installation guide if it is available to see what are the installation required Analyze the domain or industry knowledge that team is trying  to implement Whatever source of requirement you get make sure to  document them in some form. get them reviewed from other  experienced and knowledgeable team members.  project lead and developers Analyze previous system version that is already implemented  into the system Analyze the older requirement document of the project Look into the past Bug reports.• • • • • • • Other Sources of Requirements Knowledge transfer from colleagues or employees already  working on that project Talk about project to business analyst. product manager. The requirements  must maintain a standard quality of its requirement. different  types of requirement quality includes Atomic Uniquely identified . Lets study how to analyze the requirements.

• • • • • • • Complete Consistent and unambiguous Traceable Prioritized Testable et understand this with an example. there are three columns in  the table shown here. The first column indicates­ "requirement quality" The second column indicates­ "bad requirement with some  problem" .

 and other relevant information s p Consistent  and  unambiguou s A student will have either undergraduate courses or post­ graduate courses but not both.ID? M to Prioritized Registered student­Priority 1Maintain User Information­ Priority 1Enroll courses­Priority 1View Report Card­ Priority 1 R U c . password. Requirement Quality Example of bad requirement E Atomic Students will be able to enroll to undergraduate and post  graduate courses S u S g Uniquely  identified 1­ Students will be able to enroll to undergraduate  C courses1­ Students will be able to enroll to post­graduate  S courses u S g Complete A professor user will log into the system by providing his A username. Some courses will be open to both under­graduate and post­graduate A g Traceable Maintain student information­mapped to BRD req.• The third column is same as second column but – "converted  into a good requirement".

 This is a  bad requirement because it is not atomic because it talks about  two different entities undergraduates and post­graduates  courses. Uniquely Identified R p s . the bad requirement is "Students will be able to  enroll to undergraduate and post graduate courses" . So let us continue with example of system build for education  domain.P Testable Each page of the system will load in an acceptable time­ frame Now let's understand each of these requirement in details  starting with Atomic. So obviously it is not a good requirement but bad  requirement. so correspondence good requirement would be to  separate it out into two requirements. Here we will  see the two examples for requirements.  which means it should be at very low level of details it should  not be possible to separated out into components. Atomic So each and every requirement you have should be atomic. So one talks about the  enrolment to undergraduate courses while the other talks about the enrolment to the post­graduate courses. Here. at Atomic and uniquely identified requirements levels.

 so the other relevant information  should be spelt out in good requirement to make the  requirement complete. Here the other relevant  information is not clear. so good requirement will be re­return as section 1­ course  enrolments. For  example.Similarly the next requirement quality is to check for uniquely  identified. Consistent and Unambiguous . each and every requirement should be complete. here we have two separate requirement but they  both have same ID#1. and it has two requirements 1. but it is not clear which exact  requirement we are referring to document or other part of the  system as both have same ID#1. password and  other relevant information".1 id is enrolment to  undergraduate courses while 1. if we are referring our requirement  with reference to ID#. So separating out with unique  id's. So.2 id is enrolment to  postgraduate courses. here the bad requirement says a "professor user will  log into the system by providing his username. Complete Also.

Next each and every requirement should be consistent and  unambiguous. So it is obvious to convert this bad requirement into good  requirement which is "A student will have either under­ graduate courses or post­graduate courses but not both". and then we have an  . But when you  read other requirement it conflicts with the first requirement  and it tells that some courses will open to both post­graduate  and under­graduate. Which means that every course will be marked either being as under­ graduate course or post­graduate course Traceable Each and every requirement should be traceable because there  are already different levels of requirement. so here for instance we have requirements "A  student will have either undergraduate courses or post­graduate courses but not both" this is one requirement there is some  other requirement that says "Some courses will be open to both under­graduate and post­graduate students". The problem in this requirement is that from the first  requirement it seems that the courses are divided into two  categories under graduate courses and post graduate courses  and student can opt either of two but not both. we already saw that at the top we had business requirements.

1. So converting it to a good requirement it says same thing but it is mapped with the requirement id 4. Which means that we should be able to take each  and every business requirements and map it to the  corresponding one or more software architectural and design  requirement. the mapping is also  there between system and integration requirement to the code  that implements that requirement and also there is a mapping  between the system and integration requirement to the test case which test that particular requirement. so the  team has guideline so which requirement that able to  implement first and which can be done later on.architectural and design requirements followed by system  integration requirements. So mapping should be  there for each and every requirement. Here you can  see the bad priority has register student. Same way we have high  level and low level mapping requirement. So this traceability is all across entire project Prioritized Prioritized Registered student­Priority 1 Maintain User Information­Priority 1 Enroll courses­Priority 1 View Report Card­Priority 1 Then each and every requirement must be prioritized. maintain user  information and each and every requirement has given priority­ Register S Maintain U Enroll cou View Repo . So here is an example of bad requirement that  says "Maintain student information – mapped to BRD req ID?" the requirement id is not given over here. Now when we convert business requirement into architectural  and design requirements or we convert architectural and design requirements to system integration requirements there has to be traceability.

 The  other problem is that it say the page is going to load in  acceptable time frame. now what is acceptable time frame?  Acceptable to whom. . Now there are two problems with this  requirement first is that each page meaning that there can be  many pages. so requirement can be prioritized. if we are going to build a  software with regards to system and integration requirements. Everything cannot be at same priority. while maintain user information comes below at  priority 2 and then we have view report card at priority­3 Testable Testab le Each page of the system will load in an  acceptable time­frame Register student and load within 5 second Each and every requirement should be testable. and complete and so on. here the bad  requirement is "each page of the system will load in an  acceptable time frame". So we have to convert the non­testable  argument into a testable argument. So the example of good requirement over here is  the register student and enroll courses is given the highest  priority 1. which specifically tells  about which page we are talking about "register student and  enroll courses pages" and the acceptable time frame is also  given which is 5 seconds. uniquely  identified. Then check  whether each and every requirement is atomic. Conclusion So this is how we have to look at each and every requirement  at appropriate level.1. which going to blow up the testing efforts. For example.  We have to look in system and integration requirements given  in the software requirement specifications or user stories and  apply to each and every requirement quality.

 irrespective of your technical background. Suppose.Guide   to   SDLC   . And further. you are assigned a task. Different phases of Software  Development Cycle Activities performed in each stage . to develop a custom software for a client.   STLC   &   V­ Model This tutorial explains in detail the Software/System  Development Life Cycle (SDLC) like the Waterfall cycle &  Iterative cycle like RAID & Agile.  try and make an educated guess about the sequence of steps  you will follow. Now. it proceeds to  explain the V­Model of testing and STLC (Software Test Life  Cycle). to achieve the task. The correct sequence would be.

 an entirely wrong  product will be delivered to the client and you might have to  start afresh with the project OR if you manage to note the  requirements correctly but make serious mistakes in design and architecture of your software you will have to redesign the  entire software to correct the error. This is nothing but the Requirements gathering stage. the cheaper it is to fix it. you test the software to verify that it is built as per the specifications Deployment stage Deploy the application in the respective environment Maintenance stage Once your system is ready to use. you may require to change the code late All   these   levels   constitute   the   waterfall   method   of   software development lifecycle. it's easy to miss out the key details in the  requirements phase itself." . Design Stage Plan the programming language like Java. . that testing in the model starts only after implementation is done. also some high­level functions & architecture. where the systems  are complex.Requirement Gathering stage Gather as much information as possible about the details & specifications  client. database like Oracle. that is nothing but actually code the so Test Stage Next. In such cases. PHP. But if you are working in the large project. so.net. it is built stage. Assessments of thousands of projects have shown that defects introduced during requirements & design make up close to half of the total number of defects. Built Stage After design stage. the costs of fixing a defect increases across the  development life cycle. "A stitch in time  saves a nine. suited for the project. As you may observe. The earlier in life cycle a defect is  detected. As the say.

 in the Development life cycle there is a  corresponding Testing phase • • • The left side of the model is Software Development Life Cycle ­ SDLC The right side of the model is Software Test Life Cycle ­ STLC The entire figure looks like a V. there are iterative development models. with each phase  adding a functionality to the software. hence the name V ­ model Apart from V model.  where development is carried in phases. the V model of testing was developed  where for every phase. Each phase comprises of its independent set of development and testing activities. Good examples of Development lifecycles following iterative  method are Rapid Application Development. Agile  Development .To address this concern.

Software   Testing   Life   Cycle STLC ontrary to popular belief.  Development model selected for a project depends on the aims  and goals of that project. But practically this is not . and it has to adapt the  development model chosen for the project. Software Testing is not a just a single activity. In an Ideal world you will not enter the next stage until the exit criteria for the previous stage is met. In any model.e.  Activities & Deliverables associated with it. Testing is not a stand­alone activity. testing should performed at all levels i.Conclusion • • There are numerous development life cycle models. It consists of series of activities carried out  methodologically to help certify your software product. right  from requirements until maintenance. These  activities (stages) constitute the Software Testing Life Cycle  (STLC). The different stages in Software Test Life Cycle ­ Each of these stages have a definite Entry and Exit criteria  .

 in this stage. Deliverables  RTM Automation feasibility report. Lets look into them in detail. we will focus of activities and deliverables for the different stages in STLC. Prepare Requirement Traceability Matrix (RTM).always possible. Requirements could be  either Functional (defining what the software must do) or Non  Functional (defining system performance /security  availability ) . Identify test environment details where testing is supposed to  be carried out. So for this tutorial . Requirement Analysis During this phase.Automation feasibility for the given testing  project is also done in this stage.  Automation feasibility analysis (if required).  Business Analyst. The  QA team may interact with various stakeholders (Client. System Architects etc) to  understand the requirements in detail. (if applicable) Test Planning This phase is also called Test Strategy phase. test team studies the requirements from a  testing point of view to identify the testable requirements. • • • • • • • Activities Identify types of tests to be performed. a Senior QA manager will determine effort and cost  estimates for the project and would prepare and finalize the  .  Gather details about testing priorities and focus. Typically . Technical Leads.

 Test data . • • • • • Activities Create test cases. verification and rework of test  cases & test scripts. Test  environment set­up is one of the critical aspects of testing  process and can be done in parallel with Test Case  . is identified/created and is  reviewed and then reworked as well. • Activities • • • • Preparation of test plan/strategy document for various types of  testing Test tool selection  Test effort estimation  Resource planning and determining roles and responsibilities. (Check site for more info) Effort estimation document. automation scripts (if applicable) Review and baseline test cases and scripts  Create test data (If Test Environment is available) Deliverables  Test cases/scripts  Test data Test Environment Setup Test environment decides the software and hardware  conditions under which a work product is tested. (Check site for more info) Deliverables  Test Case Development This phase involves creation. Training requirement • • Test plan /strategy document.Test Plan.

• Activities  Understand the required architecture. Test team may not be involved in this  activity if the customer/development team provides the test  environment in which case the test team is required to do a  readiness check (smoke testing) of the given environment. • • • • Activities  Execute tests as per plan Document test results. and log defects for failed cases  Map defects to test cases in RTM  Retest the defect fixes  STLC Stage Requiremen t Analysis Entry Criteria Requirements  Document  Activity Analyse business  functionality to know the  E Signed off . Deliverables  Test Execution  During this phase test team will carry out the testing based on  the test plans and the test cases prepared. environment set­up and  prepare hardware and software requirement list for the Test  Environment.  Setup test Environment and test data  • Perform smoke test on the build • • Environment ready with test data set up  Smoke Test Results.Development Stage. Bugs will be reported back to the development team for correction and retesting will  be performed.

Identify all the user profiles. Gather user  interface/authentication.available (both  functional and  non functional) business modules and  module specific  functionalities. Prepare Requirement  Traceability Matrix (RTM). Application  architectural  document  available.  geographic spread  requirements. Test autom report sign client . Identify types of tests to be  performed. Automation feasibility  analysis (if required). Identify all transactions in  the modules. Acceptance  criteria defined. Identify test environment  details where testing is  supposed to be carried out. Gather details about testing  priorities and focus.

Test  Planning Requirements  Documents Analyze various testing  approaches available Approved  document. Finalize on the best suited  approach Effort esti signed off Preparation of test  plan/strategy document for  various types of testing   Test automation feasibility  document. Test tool selection Test effort estimation Resource planning and  determining roles and  responsibilities. automation scripts (where applicable) Reviewed  Cases/scri RTM and test  plan Review and baseline test  cases and scripts Reviewed  data Automation  analysis report Create test data   Test  System Design  Understand the required  Environmen and architecture  architecture. Requirement  Traceability  matrix. Test case  developmen t Requirements  Documents Create test cases. environment  Environme working a .

  if necessary Document test results. and  log defects for failed cases All tests p executed Defects lo to closure   . Test Plan .t setup documents are  available Environment  set­up plan is  available set­up checklist Prepare hardware and  software requirement list Test data s Smoke tes Finalize connectivity  requirements   Prepare environment setup  checklist Setup test Environment and  test data Perform smoke test on the  build Accept/reject the build  depending on smoke test  result Test  Execution Baselined RTM. Test  case/scripts are  available Execute tests as per plan Test  environment is  ready Update test plans/test cases.

 Cost . Document the learning out  of the project Prepare Test closure report Qualitative and quantitative  reporting of quality of the  work product to the  customer.Test data set up  is done Map defects to test cases in  RTM Retest the defect fixes Unit/Integration  test report for  Regression testing of  the build to be  application tested is  available Track the defects to closure Test Cycle  closure Testing has  been completed Test results are  available Evaluate cycle completion  criteria based on ­ Time.  Software Quality . Test Closu off by clie . Critical  Business Objectives Defect logs are  available Prepare test metrics based on the above parameters.  Test coverage .

 taking lessons from the current test cycle.Test  coverage. The idea is to remove the  process bottlenecks for future test cycles and share best  practices for any similar projects in future. Deliverables  Test Closure report  Test metrics .  Test result analysis to find out the defect distribution by type  and severity. Quality Prepare test metrics based on the above parameters.Software.  Document the learning out of the project  Prepare Test closure report  Qualitative and quantitative reporting of quality of the work  product to the customer.Critical Business Objectives .Cost.Test result analysis to find  out the defect distribution by type and severity • • • • Track the defects to closure Deliverables  Completed RTM with execution status  Test cases updated with results  Defect reports Test Cycle Closure Testing team will meet . • • • • • • • • Activities Evaluate cycle completion criteria based on Time. discuss and analyze testing artifacts to identify strategies that have to be implemented in future.

  Goal of Manual Testing The goal of Manual Testing is to ensure that the application is error free and it is working in conformance to the specified functional   requirements. In fact  any type of software testing type can be executed both  . Basically. Manual Testing does not require knowledge of any testing tool. It also makes sure that reported defects are fixed by developers and   re­testing   has   been   performed   by   testers   on   the   fixed defects. this testing checks the quality of the system and delivers bug­free product to the customer.are   designed during the testing phase and should have 100% test coverage. Manual Testing types: Below given diagram depicts Manual Testing Types.  but is necessary to check  automation feasibility.Finally. One   of   the   Software   Testing   Fundamental   is   "100% Automation   is   not   possible". summary of STLC along with Entry and Exit Criteria Manual   Testing   Tutorials   for Beginners In Manual Testing .   This   makes   Manual   Testing imperative.  Any new application must be manually tested before its  testing can be automated.   Test   Suites   or   cases   . Manual testing is the most primitive of all testing types and helps find bugs in the  software system. Testers manually execute test cases  without using any automation tools. Manual testing requires more effort.

  Identifying all possible defects is impossible. cost and manpower. it's easier to run an automated test suite when  compared to manual testing which will require skilled labor.        Myths of Manual Testing Following are few common myths and facts related to testing: Myth: Anyone can do manual testing Fact: Testing requires many skill sets Myth: Testing ensures 100% defect free product Fact: Testing attempts to find as many defects as possible. Manual Testing is  also essential. Myth: Automated testing is more powerful than manual testing Fact: 100% test automation cannot be done.manually as well using an automation tool. Once  recorded.Testing an  application for possible use cases with minimum test cases  requires high analytical skills. Automation Testing saves time.  Comparison of Manual and  Automated Testing  Automation Testing is use of tools to execute test cases  whereas manual testing requires human intervention for test  execution. Myth: Testing is easy Fact: Testing can be extremely challenging . Any type of application can be tested manually but automated  .

 Also.They need to think and act  with an End User perspective.testing is recommended only for stable systems and is mostly  used for regression testing. On the  contrary. Automated   Testing:   Process. certain testing types like ad­ hoc and monkey testing are more suited for manual execution. Automation  Testing means using an automation tool to execute your test  case suite. Using a test  automation tool it's possible to record this test suite  and re­ play it  as required. This improved ROI of Test  Automation.  no  human intervention is required . .   The automation software can also enter test data  into the System Under Test . Planning. Tool Selection Manual testing is performed by a human sitting in front of a  computer carefully executing the test steps. creative &  open minded. Once the  test suite is automated.  compare  expected and actual   results and generate detailed test  reports. Manual testing can be become repetitive and boring. is handled by automation software in automation testing. the boring part of executing same test cases time and  again. Conclusion Manual testing is an activity where the tester needs to be very  patient. Test Automation demands considerable investments of money  and resources. Goal of Automation is to reduce number of test cases to be run  manually and not eliminate manual testing all together. Successive development cycles will require  execution of same test suite repeatedly.

Automation Process . all negative  scenarios is time and cost consuming It is difficult to test for multi lingual sites manually Automation does not require Human intervention. all fields .Why Automated Testing? • • • • • •  Automated testing is important due to following reasons:  Manual Testing of all work flows. Which Test Cases to Automate? • • • • • • • Test cases to be automated can be selected using the following  criterion to increase the automation ROI High Risk ­ Business Critical test cases Test cases that are executed repeatedly Test Cases that are very tedious or difficult to perform  manually Test Cases which are time consuming The following category of test cases are not suitable for  automation: Test Cases that are newly designed and not executed manually  atleast once Test Cases for which the requirements are changing frequently Test cases which are executed on ad­hoc basis. You can run automated test unattended (overnight) Automation increases  speed of test execution Automation helps increase  Test Coverage Manual Testing can become boring and hence error prone.

  So QTP cannot be used for testing  Informatica applications. For instance QTP does not  support Informatica.Following steps are followed in an Automation Process     Test tool selection Test Tool selection largely depends on the technology the  Application Under Test is built on. It's a good idea to conduct Proof of  Concept of Tool on AUT  Define the scope of Automation • • • • Scope of automation is the area of your Application Under  Test which will be automated. Following points help determine scope: Feature that are important for the business Scenarios which have large amount of data Common functionalities across applications Technical feasibility .

 Design and Development  • • • • • • During this phase you create  Automation strategy & plan. The scripts  need input test data before there are set to run.• • • Extent to which business components are reused Complexity of test cases Ability to use the same test cases for cross browser testing   Planning. The execution can be done during night . reviewed and maintained for each release cycle. Automation Scripts need to be added.   Execution can be performed using the automation tool directly  or through the Test Management tool which will invoke the  automation tool. Once executed  they provide detailed test reports. Example: Quality center is the Test Management tool which in  turn it will invoke QTP for execution of automation scripts.  which contains following details­ Automation tools selected Framework design and its features In­Scope and Out­of­scope items of automation Automation test bed preparation Schedule and Timeline of scripting and execution Deliverables of automation testing   Test Execution Automation Scripts are executed during this phase. to save  time. Maintenance .  Scripts can be executed in a single machine or a group of  machines. Maintenance  As new functionalities are added to the System Under Test with successive cycles.

Rational Robot: It  is an IBM tool used to automate regression. Delphi amongst others. It can be used with  Rational Test Manager which aided in Test Management  Activities  .becomes   necessary   to   improve   effectiveness   of   Automation Scripts. e­ commerce as well as  ERP applications.  know  is light tool which can be  recommended for web or client/server applications. functional and configuration tests for client server. Java .  Automation tools Following are the most popular test tools :  QTP : HP's  Quick Test Professional ( now known as HP  Functional Test) is the market leader in Functional Testing  Tool. The tool supports plethora of environments including  SAP . QTP can be used  in  conjunction with Quality Center which is a comprehensive  Test  Management Tool.

 Identify the requirements. set the expectation from the  tool and go for a Proof Of Concept. It  supports all types of web browsers. mobile. etc. Support for multiple testing frameworks Easy to debug the automation software scripts Ability to recognize objects in any environment Extensive test reports and results Minimize training cost of selected tools  Tool selection is one of biggest challenges to be tackled before going for automation. First. test  management.Selenium: Its an open source Web Automation Tool. Following criterion will help you select the best tool for your requirement­ Environment Support Ease of use Testing of Database Object identification Image Testing Error Recovery Testing Object Mapping Scripting Language Used Support for various types of test ­ including functional.. Framework in Automation  A framework is  set of automation guidelines  which help in   Maintaining consistency of Testing Improves test structuring Minimum usage of code . Despite being open source  its actively developed and supported    How to Choose an Automation Tool?  • • • • • • • • • • • • • • • • • Selecting the right tool can be a tricky task. explore  various tools and its capabilities..

 comments and indentation of the code 2 Adequate Exception handling ­ How error is  handled on system  failure or unexpected behavior  of the application.• • • • • Less Maintenance of code Improve re­usability Non Technical testers can be involved in code Training period of using the tool can be reduced Involves Data wherever appropriate  There are four types of framework used in software automation testing: Data Driven Automation Framework Keyword Driven Automation Framework Modular Automation Framework Hybrid Automation Framework    Automation Best Practices:  • • • • To get maximum ROI of automation. Select the right automation tool: A tool must not be selected  based on its popularity but it's fit to the automation  requirements. Choose appropriate framework Scripting Standards­ Standards have to be followed while  writing the scripts for Automation .Some of them are­ 1 Create uniform scripts. observe the following Scope of Automation needs to be determined in detail before  the start of the project. This sets expectations from Automation right. 3 User defined messages should be coded or  standardized for Error Logging for testers to  .

Measure metrics­ Success of automation cannot be determined  by   comparing the manual effort with the automation effort  but by also capturing the following metrics. Benefits of automated testing  Following are benefits of automated testing: 70% faster than the manual testing Wider test coverage of application features Reliable in results Ensure Consistency Saves Time and Cost Improves accuracy Human Intervention is not required while execut Increases Efficiency Better speed in executing tests Re­usable test scripts Test Frequently and thoroughly More  cycle of execution can be achieved throug Early time to market  Conclusion . 1 Percent of defects found 2 Time required for automation testing for each and  every release cycle 3 Minimal Time taken for release    4 Customer satisfaction Index 5 Productivity improvement The above guidelines if observed can greatly help in making  your automation successful.• understand.

 In procedural programming a unit may  be an individual function or procedure The goal of unit testing is to isolate each part of the program  and show that the individual parts are correct. integration testing and even beta testing after the  application is completed. Unit testing is  usually performed by the developer. This is a myth because skimping on unit  testing leads to higher defect fixing costs during system  testing. are important players for automation to be successful. Unit Testing: Complete Guide Unit testing of software applications is done during the  development (coding) of an application.Right selection of automation tool. testing process and team. Unit   testing   in   Software   Testing   Life Cycle Building unit Test Cases Unit testing is commonly automated. Manual and   automation   methods   go   hand­in   hand   for   successful testing. but may still be  . The objective of unit testing is to isolate a section of code and  verify its correctness. Proper unit testing done during the  development stage saves both time and money in the end. Why do Unit Testing? Why it is  important? Sometimes software developers attempt to save time by doing  minimal unit testing.

 A manual approach to unit testing may employ a step­ by­step instructional document. They would later comment out and finally remove the test code when the application is  done. those will be  . These  dependencies can then be eliminated. the framework  may halt subsequent testing. you might have a function that needs variables or  objects that are not created yet. The IEEE does not favor one over the  other. Many frameworks will also  automatically flag and report in a summary these failed test  cases. Under the automated approach­ A developer could write another section of code in the  application just to test the function. For  example. In unit testing.  Mock objects fill in for the missing parts of the program.   A coder may use a Unit Test Framework to develop automated test cases.    Mock Objects Unit testing relies on mock objects being created to test  sections of code that are not yet part of a complete application. the framework logs those  that fail any criterion. They could also isolate the function to test it more rigorously. the developer  codes criteria into the test to verify the correctness of the unit.  During execution of the test cases. Depending upon the severity of a failure. Using an automation framework.  This is a more thorough unit testing practice that involves copy and pasting the function to its own testing environment to other than its natural environment.• • performed manually. Isolating the code helps in  revealing unnecessary dependencies between the code being  tested and other units or data spaces in the product.

 Go to http://www­01. There  . It is available at  http://jsassertunit. Dotunit is  used for automating unit testing on windows systems. This is  another tool from sourceforge.net by going to  http://sourceforge.net/   Those are just a few of the available unit testing tools. C++ and  Objective C.net/docs/index.net/projects/cut/.ibm.net framework Freeware unit testing  tool.accounted for in the form of mock objects created solely for  the purpose of the unit testing done on that section of code.com/software/rational/ to  learn more.sourceforge. so look for it at:  http://dotunit. this  Freeware JavaScript unit testing tool can be used on any  platform that supports JavaScript.   Unit Testing Tools • • • • There are several automated tools available to assist with unit  testing. It is great for embedded software testing  frameworks and desktop applications on Linux and Windows  operating systems.net. Linux. HP­UX  and AIX. Learn more at sourceforge. C and C++. It is used for Ada. It creates  unit tests by reverse engineering the software.  Operating  systems it supports include Windows. Solaris. The software  contains a complete range of testing tools for much more than  just unit testing. Dotunit ­ Dotunit is a . Part of Junit on the Microsoft .html CUT ­ CUT is a Freeware unit test tool for C.net framework. JavaScript Assertion Unit­ Also known as jsAsserUnit. Java. We will provide a few examples below: Rational Software ­ Rational Software by IBM has a unit test  feature known as "Rational Test Realtime".sourceforge.

Myths by their very nature are false assumptions. Below we look at some of what extreme programming brings to the world of unit testing: Tests are written before the code Rely heavily on testing frameworks All classes in the applications are tested Quick and easy integration is made possible    Unit Testing Myth It requires time and I am always overscheduled My code is rock solid! I do not need unit tests.  These  assumptions lead to a vicious cycle as follows ­     . Extreme Programming & Unit Testing • • • • Unit testing in Extreme Programming involves the extensive use of testing frameworks. but you are  sure to find a unit testing tool for your programming needs  regardless of the language you use. especially for C languages and Java. Unit testing frameworks are not unique to extreme programming. but they are essential to it.are lots more. A unit test framework is used in order to create automated unit tests.

Programmers think that integration testing will catch all errors  and do not unit test.   .Truth is Unit testing increase the speed of development. very simple  errors which could have very easily found and fixed in unit  tested take very long time to be traced and fixed. Once units are integrated.

 it can be quickly identified and fixed. Due to the modular nature of the unit testing. Hence it can't catch integration errors or broad system level errors. Test only one code at a time.  Regression testing). ensure there is a  .• • • • • • • • • Unit Testing benefits Developers looking to learn what functionality is provided by a unit and how to use it can look at the unit tests to gain a basic  understanding of the unit API. It is not possible to evaluate all execution paths even  in the most trivial programs Unit testing by its very nature focuses on a unit of code.   Unit Testing Limitations Unit testing can't be expected to catch every error in a  program. we can tests parts of project without waiting for others to be completed. Follow clear and consistent naming conventions for your unit  tests In case of change in code in any module. Unit testing allows the programmer to refactor code at a later  date. unit test cases should not be affected.   Unit testing best practices Unit Test cases should be independent. In case of any  enhancements or change in requirements.e. The procedure is to write test cases for all  functions and methods so that whenever a change causes a  fault. and make sure the module still works correctly (i.   It's recommended unit testing be used in conjunction with  other testing activities.

 tools and philosophies used. Unit testing is always necessary on some level. That is a certainty. . there can be a lot involved in unit testing. It can be complex or rather simple depending on the application being tested and the testing strategies.• • corresponding unit test case for the module and the module  passes the tests before changing the implementation Bugs identified during unit testing must be fixed before  proceeding to the next phase in SDLC Adopt a "test as your code" approach. The more code you  write without testing the more paths you have to check for  errors.  Summary As you can see.