Anzeige
Anzeige

Más contenido relacionado

Anzeige
Anzeige

Role of BA in Testing

  1. Page 1Classification: Restricted Business Analysis Training Quality Assurance/ Software Testing and A Business Analyst’s Role
  2. Page 2Classification: Restricted Agenda • Software Quality Testing • Purpose of Quality Testing • Project Life Cycle and Software Testing • Quality Testing in Different Phases of Project Life Cycle • Role of a Software Tester • Types of Software Testing • Software Testing Types Explained • Various Software Testing Tools • Verification and Validation • Role of Business Analyst • Purpose of Business Analysis and a Business Analyst Role • Business Analyst Effects the Change • Business Analyst’s role in different phases of Project life cycle - PLC
  3. Page 3Classification: Restricted What is it? • Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. • Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. • Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs(errors or other defects). Software testing can be stated as the process of validating and verifying that a software program/application/product: • Meets the requirements that guided its design and development; • Works as expected; and • Can be implemented with the same characteristics. Software Quality Testing
  4. Page 4Classification: Restricted Purpose of Quality Testing A primary purpose of testing is to detect software failures so that defects may be discovered and corrected. Testing cannot establish that a product functions properly under all conditions but can only establish that it does not function properly under specific conditions. The scope of software testing often includes examination of code as well as execution of that code in various environments and conditions as well as examining the aspects of code: does it do what it is supposed to do and do what it needs to do. In the current culture of software development, a testing organization may be separate from the development team. There are various roles for testing team members. Information derived from software testing may be used to correct the process by which software is developed
  5. Page 5Classification: Restricted Project Life Cycle and Software Testing Software testing, depending on the testing method employed, can be implemented at any time in the development process. However, most of the test effort occurs after the requirements have been defined and the coding process has been completed. As such, the methodology of the test is governed by the software development methodology adopted. Different software development models will focus the test effort at different points in the development process. Newer development models, such as Agile, often employ test driven development and place an increased portion of the testing in the hands of the developer, before it reaches a formal team of testers. In a more traditional model, most of the test execution occurs after the requirements have been defined and the coding process has been completed.
  6. Page 6Classification: Restricted Quality Testing in Different Phases of Project Life Cycle
  7. Page 7Classification: Restricted Role of a Software Tester
  8. Page 8Classification: Restricted Other Stake holders User Communities Sponsors Developers Project Management Business Analysts Test metrics Root cause analysis of bugs Software Tester Communicate bugs and resolve issues Acquire requirements and CRs User acceptance tests User acceptance tests. Certify/Approve the software Alpha/Beta testing User acceptance tests. Certify/Approve the software Software tester acts like a security gate to ensure quality software that meets business expectations
  9. Page 9Classification: Restricted • ACCEPTANCE TESTING. • BLACK BOX TESTING • COMPATIBILITY TESTING. • CONFORMANCE TESTING • FUNCTIONAL TESTING • INTEGRATION TESTING. • LOAD TESTING. • PERFORMANCE TESTING • REGRESSION TESTING. • SMOKE TESTING • STRESS TESTING • SYSTEM TESTING • UNIT TESTING • WHITE BOX TESTING Types of Software Testing
  10. Page 10Classification: Restricted • Black box testing – Internal system design is not considered in this type of testing. Tests are based on requirements and functionality • White box testing – This testing is based on knowledge of the internal logic of an application’s code. Also known as Glass box Testing. Internal software and code working should be known for this type of testing. Tests are based on coverage of code statements, branches, paths, conditions • Unit testing – Testing of individual software components or modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. may require developing test driver modules or test harnesses. • Incremental integration testing – Bottom up approach for testing i.e continuous testing of an application as new functionality is added; Application functionality and modules should be independent enough to test separately. done by programmers or by testers. Software Testing Types Explained
  11. Page 11Classification: Restricted • Integration testing – Testing of integrated modules to verify combined functionality after integration. Modules are typically code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems. • Functional testing – This type of testing ignores the internal parts and focus on the output is as per requirement or not. Black-box type testing geared to functional requirements of an application. • System testing – Entire system is tested as per the requirements. Black- box type testing that is based on overall requirements specifications, covers all combined parts of a system. • End-to-end testing – Similar to system testing, involves testing of a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate. Software Testing Types Explained
  12. Page 12Classification: Restricted • Sanity testing - Testing to determine if a new software version is performing well enough to accept it for a major testing effort. If application is crashing for initial use then system is not stable enough for further testing and build or application is assigned to fix. • Regression testing – Testing the application as a whole for the modification in any module or functionality. Difficult to cover all the system in regression testing so typically automation tools are used for these testing types. Software Testing Types Explained
  13. Page 13Classification: Restricted • Acceptance testing -Normally this type of testing is done to verify if system meets the customer specified requirements. User or customer do this testing to determine whether to accept application. • Load testing – Its a performance testing to check system behavior under load. Testing an application under heavy loads, such as testing of a web site under a range of loads to determine at what point the system’s response time degrades or fails. • Stress testing – System is stressed beyond its specifications to check how and when it fails. Performed under heavy load like putting large number beyond storage capacity, complex database queries, continuous input to system or database load. • Performance testing – Term often used interchangeably with ‘stress’ and ‘load’ testing. To check whether system meets performance requirements. Used different performance and load tools to do this. • Usability testing – User-friendliness check. Application flow is tested, Can new user understand the application easily, Proper help documented whenever user stuck at any point. Basically system navigation is checked in this testing. • Install/uninstall testing - Tested for full, partial, or upgrade install/uninstall processes on different operating systems under different hardware, software environment. • Recovery testing – Testing how well a system recovers from crashes, hardware failures, or other catastrophic problems. Cont’d… Software Testing Types Explained
  14. Page 14Classification: Restricted • Security testing – Can system be penetrated by any hacking way. Testing how well the system protects against unauthorized internal or external access. Checked if system, database is safe from external attacks. • Compatibility testing – Testing how well software performs in a particular hardware/software/operating system/network environment and different combination s of above. • Comparison testing – Comparison of product strengths and weaknesses with previous versions or other similar products. • Alpha testing – In house virtual user environment can be created for this type of testing. Testing is done at the end of development. Still minor design changes may be made as a result of such testing. • Beta testing – Testing typically done by end-users or others. Final testing before releasing application for commercial purpose. Cont’d… Software Testing Types Explained
  15. Page 15Classification: Restricted • Some functional automation tools: 01. Winrunner (from mercury), 02. Quick test professional (HP), • 03. ALM from HP 04. Silk test (from seague) 05. Rational robot (from rational) some load testing tools: 01. Load runner (from mercury), 02. Silk performer (from seague) 03. Rational performance tester (from rational) 04. Wapt (web application test, from Softlogica) some test management tools: 01. Test Director (from Mercury) 02. Quality center (from HP) 03. Test Manager (from Rational) 04. Bugzilla Test Runner 05. Salome-TMF 06. RTH (Open source) • 07. ALM (from HP) Various Software Testing Tools:
  16. Page 16Classification: Restricted Verification and Validation • Verification is a quality control process that is used to evaluate whether a product, service, or system complies with regulations, specifications, or conditions imposed at the start of a development phase. Verification can be in development, scale-up, or production. This is often an internal process. • Validation is a quality assurance process of establishing evidence that provides a high degree of assurance that a product, service, or system accomplishes its intended requirements. This often involves acceptance of fitness for purpose with end users and other product stakeholders. This is often an external process. • It is sometimes said that validation can be expressed by the query "Are you building the right thing?“ and verification by "Are you building it right?“ • "Building the right thing" refers back to the user's needs, while "building it right" checks that the specifications are correctly implemented by the system. In some contexts, it is required to have written requirements for both as well as formal procedures or protocols for determining compliance.
  17. Page 17Classification: Restricted Role of Business Analyst
  18. Page 18Classification: Restricted • Business Analysis is a set of tasks and techniques used to work as a liaison among stakeholder in order to understand the structure , policies and operations of an organization and recommends solutions that enable the organization to achieve its goals. • Business Analysts must analyze and synthesize information provided by a large number of people who interact with the business such as customers , staff, IT professionals and executives. • The business analyst is responsible for eliciting the actual needs of stake holders ,not simply their expressed desires.In many cases, the business analyst will also work to facilitate communication between organizational units. Purpose of Business Analysis and a Business Analyst Role
  19. Page 19Classification: Restricted Identify and communicate compelling reasons Assure a safe "destination " Business Analyst Effects the Change
  20. Page 20Classification: Restricted User representatives
  21. Page 21Classification: Restricted Business Analyst’s role in different phases of Project life cycle - PLC
  22. Page 22Classification: Restricted Build /Unit Test: • Maintain communication lines between users and development communities • Observe to ensure that -what is built solves the problem’. System/Integration Test: • Confirm all requirements have been met during System Testing. • Clearly define the non-functional requirements, where applicable • Track open issues relating to requirements Acceptance Test: • Take lead, if possible • Ensure customer satisfaction Business Analyst’s role in different phases of Project life cycle - PLC
  23. Page 23Classification: Restricted Questions?
  24. Page 24Classification: Restricted Thank You!
Anzeige