Testing & Release Get started with Testing? - What is   Testing? -We Test!!We Test!!Why? -Testing Defined. -Is product Sucessful. -Product Success Criteria. -Testability. -Test Factors.
What is testing? Process used to help identify the correctness,completeness and quality of developed computer system. Find out difference between actual and expected behaviour. The process of exercising software to verify that it satisfies specified  requirements of end user and to detect errors. The process of revealing that an artifact fails to satisfy a set of requirements.
What is Testing(cont..)? Establishing conifidence that a system does what it is supposed  to do. Confirming that a system performs its intended functions correctly. Does not guarantee bugfree product. No substitute for good programming. Can't prevent/debug bugs,only detect. Offer advise on product quality and risks.
We Test!!We Test!!Why Detect programming errors- programmers like anyone else can make mistakes. To catch bugs/defect/errors. To check program against specifications. Cost of debugging is higher after release.
We Test!!We Test!!Why client/end user should not find bugs. Some bugs are easier to find in testing. Challenge to release a bug-free product. Verifying documentations. To  get adequate trust and conifidence on the product. To meet organizational goals. -like meeting requirements,satisfied customers,improved market share,zero Defects etc.
We Test!!We Test!!Why Ensuring that system is ready for use. Understanding limits of performance. Learing what a system is not able to do. Evaluating capabilities of system.
Testing Defined Def-1 Process of establishing confidence that a program or system  does what it is supposed to. Def-2 Process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies specified requirement.
Testing Defined Def-3 Testing is a process of executing a program with the intent  of finding errors. Def-4 Testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results.
Is product Successful??? When client/customer perceives it as value-added to his business. Timelines of delivery of the product within budget and scope. The business perceives that the system satisfactorily addresses the true business goals. End user feels that look,feel,and navigation are easy. Team is prepared to support and maintain the delivered product.
Product success criteria Functionality. Usability. Likeability. Configuability. Maintainability. interoperability.
Testability Operability. Controllability. Obserbability. Understandability. Suitability. Accessibility. Navigability. Editorial continuity.
Testability(cont..) Scalability. Context Sensitivity. Structural continuity.
Test Factors Functionality(exterior Quality) -correctness. -Reliability. -usability. -integrity.
Testing Factors(cont..) Engineering (interior  Quality) -Efficiency. -Testability. -Documentation. -Structure.
Testing factor(cont..) Adaptability(future Quality) -Flexability. -Reusability. -Maintainability.
Software Testing life Cycle
Conventional Testing Process Bulid design spec Test & fix Here Testing was happening only towards the end of the life cycle.
Software development life cycle Requirment  analysis Detailed specifications Operational Testing Integration Testing Unit Testing Coding High level design Review test
SDLC-v Model Code review Develop integration test Design Review design Review acceptance Tests Develop acceptance Tests Req Review Requirement Review unit test Develop unit test Review integration test code Execute system test Execute intergations test Execute unit test
STLC:-Activities Scope Requirements -Base line inventory. -Acceptance criteria. -Schedule. -Prioritization. -Test references -sign off req.
PLAN Approach. Process and Tools. Methodology. Delivery Models. Risk plan. Project Overflow. Quality Objectivies. Configurations plan.
Design Test design. Specifications. Test Scenarios. Test cases. Test data. Tool development.
Execution Implement stubs. Test data feeders. Batch processes. Execute Testing. Collate Test data. Identify Bugs.
Defect Analysis Check unexpected Behavior. Identify defective applications area. Identify erroneous test data. Identify defects trends/Patterns.
Test approach Sets the scope of system testing. The overall strategy to be adopted. The activities to be completed. The general resources required. The methods and processes to be used to test the release. Details the activities,dependencies and effort required to conduct  the system Test.
Test Approach(cont..) Test approach will be based on the objectives set for testing. Test approach will detail the way the testing to be carried  out. Types of testing to be done viz unit,Integration and system testing. The general resources required. The method of testing viz black box ,white box ect., Details of any automated testing to be done. Details the activities,dependencies and effort required to conduct  the system test.
Requirements Analysis The Objective can be acheived by three basic issuses: -Correctness. -Completeness. -Consistency.
Evaluating Requirements What constitutes a good Requirements? -Clear Unambiguous terminology. -concise no unnecessary narrative or non-relevant facts. -consistent Requirements that are similar are stated in similar terms. Requirements do not conflict with each other. -Complete All functionality needed to satisfy the goals of the system.
Requirement analysis Difficulties in conducting Requirements analysis. -Analyst not prepared. -Customer has no time/interest. -Incorrect Customer personnel involved. -Insufficient time allotted in project schedule.
Software testing phase Unit testing. Functional Testing. Integration Testing. System Testing. Acceptance Testing. Interface Testing. Regressive Testing. Special Testing.
Unit Testing Unit testing is a verification  effort on the smallest unit of the  Software design the software  component or module.
Why unit testing? Test early for each component and prevent the defect from being carried forward to next stage. To ensure that the design specifications have been correctly  implemented.
Functional testing Functional testing is a kind of black box testing because a program's internal structure is not considered. Give the inputs,check the outputs without concentrating  on how the operations are performed by the system. When black box testing is conducted,the SRS plays a major role and the functionality is given the utmost importance.
Functional testing(cont..) Focus on system functions. -developed from the requirements. -Behavior testing. Should -know expected results. -test both valid and invalid input. Unit test cases can be reused. New end user oriented test causes test cases have to be developed as well.
Integration Testing Testing with the components put together
Why integration Testing? Data can be lost across  an interface. One module can have an inadvertent,adverse effect on another. Sub functions,when combined,may not produce the desired major functions. Individually acceptable imprecision may be magnified to unacceptable levels. Global data structures can create problems and so on..
System Testing Purpose Test the entire system as a whole. Assumptions completed -Unit testing.  -functional testing. -Integrations testing.
Regressive Testing ” selective retesting to detect faults introduced during modifications  of  a system or system or system component, ” ..a testing process which is applied after a program is modified.”
Bug reporting,analysis,and regressive testing Activities -Detect Bugs by executing test cases. -Bug Reporting. -Analyze the error/Defect/bug. -Debugging the system. -Regressive Testing.
Inspection and Release-Activities Maintaining  configuration of related work products. Final review of testing. Metrics to measure improvement. Replication of product. Product delivery Records. Evaluate Test Effectiveness.
Client Acceptance Software installations. Provide support during acceptance Testing. Analyze and address the error/Defect/Bug. Track Changes and Maintenance. Final testing and implementations. Submission,client sign-off. Update respective process.

Testing

  • 1.
    Testing & ReleaseGet started with Testing? - What is Testing? -We Test!!We Test!!Why? -Testing Defined. -Is product Sucessful. -Product Success Criteria. -Testability. -Test Factors.
  • 2.
    What is testing?Process used to help identify the correctness,completeness and quality of developed computer system. Find out difference between actual and expected behaviour. The process of exercising software to verify that it satisfies specified requirements of end user and to detect errors. The process of revealing that an artifact fails to satisfy a set of requirements.
  • 3.
    What is Testing(cont..)?Establishing conifidence that a system does what it is supposed to do. Confirming that a system performs its intended functions correctly. Does not guarantee bugfree product. No substitute for good programming. Can't prevent/debug bugs,only detect. Offer advise on product quality and risks.
  • 4.
    We Test!!We Test!!WhyDetect programming errors- programmers like anyone else can make mistakes. To catch bugs/defect/errors. To check program against specifications. Cost of debugging is higher after release.
  • 5.
    We Test!!We Test!!Whyclient/end user should not find bugs. Some bugs are easier to find in testing. Challenge to release a bug-free product. Verifying documentations. To get adequate trust and conifidence on the product. To meet organizational goals. -like meeting requirements,satisfied customers,improved market share,zero Defects etc.
  • 6.
    We Test!!We Test!!WhyEnsuring that system is ready for use. Understanding limits of performance. Learing what a system is not able to do. Evaluating capabilities of system.
  • 7.
    Testing Defined Def-1Process of establishing confidence that a program or system does what it is supposed to. Def-2 Process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies specified requirement.
  • 8.
    Testing Defined Def-3Testing is a process of executing a program with the intent of finding errors. Def-4 Testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results.
  • 9.
    Is product Successful???When client/customer perceives it as value-added to his business. Timelines of delivery of the product within budget and scope. The business perceives that the system satisfactorily addresses the true business goals. End user feels that look,feel,and navigation are easy. Team is prepared to support and maintain the delivered product.
  • 10.
    Product success criteriaFunctionality. Usability. Likeability. Configuability. Maintainability. interoperability.
  • 11.
    Testability Operability. Controllability.Obserbability. Understandability. Suitability. Accessibility. Navigability. Editorial continuity.
  • 12.
    Testability(cont..) Scalability. ContextSensitivity. Structural continuity.
  • 13.
    Test Factors Functionality(exteriorQuality) -correctness. -Reliability. -usability. -integrity.
  • 14.
    Testing Factors(cont..) Engineering(interior Quality) -Efficiency. -Testability. -Documentation. -Structure.
  • 15.
    Testing factor(cont..) Adaptability(futureQuality) -Flexability. -Reusability. -Maintainability.
  • 16.
  • 17.
    Conventional Testing ProcessBulid design spec Test & fix Here Testing was happening only towards the end of the life cycle.
  • 18.
    Software development lifecycle Requirment analysis Detailed specifications Operational Testing Integration Testing Unit Testing Coding High level design Review test
  • 19.
    SDLC-v Model Codereview Develop integration test Design Review design Review acceptance Tests Develop acceptance Tests Req Review Requirement Review unit test Develop unit test Review integration test code Execute system test Execute intergations test Execute unit test
  • 20.
    STLC:-Activities Scope Requirements-Base line inventory. -Acceptance criteria. -Schedule. -Prioritization. -Test references -sign off req.
  • 21.
    PLAN Approach. Processand Tools. Methodology. Delivery Models. Risk plan. Project Overflow. Quality Objectivies. Configurations plan.
  • 22.
    Design Test design.Specifications. Test Scenarios. Test cases. Test data. Tool development.
  • 23.
    Execution Implement stubs.Test data feeders. Batch processes. Execute Testing. Collate Test data. Identify Bugs.
  • 24.
    Defect Analysis Checkunexpected Behavior. Identify defective applications area. Identify erroneous test data. Identify defects trends/Patterns.
  • 25.
    Test approach Setsthe scope of system testing. The overall strategy to be adopted. The activities to be completed. The general resources required. The methods and processes to be used to test the release. Details the activities,dependencies and effort required to conduct the system Test.
  • 26.
    Test Approach(cont..) Testapproach will be based on the objectives set for testing. Test approach will detail the way the testing to be carried out. Types of testing to be done viz unit,Integration and system testing. The general resources required. The method of testing viz black box ,white box ect., Details of any automated testing to be done. Details the activities,dependencies and effort required to conduct the system test.
  • 27.
    Requirements Analysis TheObjective can be acheived by three basic issuses: -Correctness. -Completeness. -Consistency.
  • 28.
    Evaluating Requirements Whatconstitutes a good Requirements? -Clear Unambiguous terminology. -concise no unnecessary narrative or non-relevant facts. -consistent Requirements that are similar are stated in similar terms. Requirements do not conflict with each other. -Complete All functionality needed to satisfy the goals of the system.
  • 29.
    Requirement analysis Difficultiesin conducting Requirements analysis. -Analyst not prepared. -Customer has no time/interest. -Incorrect Customer personnel involved. -Insufficient time allotted in project schedule.
  • 30.
    Software testing phaseUnit testing. Functional Testing. Integration Testing. System Testing. Acceptance Testing. Interface Testing. Regressive Testing. Special Testing.
  • 31.
    Unit Testing Unittesting is a verification effort on the smallest unit of the Software design the software component or module.
  • 32.
    Why unit testing?Test early for each component and prevent the defect from being carried forward to next stage. To ensure that the design specifications have been correctly implemented.
  • 33.
    Functional testing Functionaltesting is a kind of black box testing because a program's internal structure is not considered. Give the inputs,check the outputs without concentrating on how the operations are performed by the system. When black box testing is conducted,the SRS plays a major role and the functionality is given the utmost importance.
  • 34.
    Functional testing(cont..) Focuson system functions. -developed from the requirements. -Behavior testing. Should -know expected results. -test both valid and invalid input. Unit test cases can be reused. New end user oriented test causes test cases have to be developed as well.
  • 35.
    Integration Testing Testingwith the components put together
  • 36.
    Why integration Testing?Data can be lost across an interface. One module can have an inadvertent,adverse effect on another. Sub functions,when combined,may not produce the desired major functions. Individually acceptable imprecision may be magnified to unacceptable levels. Global data structures can create problems and so on..
  • 37.
    System Testing PurposeTest the entire system as a whole. Assumptions completed -Unit testing. -functional testing. -Integrations testing.
  • 38.
    Regressive Testing ”selective retesting to detect faults introduced during modifications of a system or system or system component, ” ..a testing process which is applied after a program is modified.”
  • 39.
    Bug reporting,analysis,and regressivetesting Activities -Detect Bugs by executing test cases. -Bug Reporting. -Analyze the error/Defect/bug. -Debugging the system. -Regressive Testing.
  • 40.
    Inspection and Release-ActivitiesMaintaining configuration of related work products. Final review of testing. Metrics to measure improvement. Replication of product. Product delivery Records. Evaluate Test Effectiveness.
  • 41.
    Client Acceptance Softwareinstallations. Provide support during acceptance Testing. Analyze and address the error/Defect/Bug. Track Changes and Maintenance. Final testing and implementations. Submission,client sign-off. Update respective process.