Software Testing Quality Assurance PDF
Document Details
Uploaded by VibrantSwamp
Kaveh Eshraghian
Tags
Summary
This presentation provides an overview of software testing, quality assurance, and agile methodologies. It covers topics such as QA definition, agile projects, themes, epics, issues, user stories, kanban boards, test plans, and Jira.
Full Transcript
Software Testing Quality Assurance Instructor: Kaveh Eshraghian Overview QA Definition Agile Projects Themes / Epics / Issues / User Stories Kanban Boards Test Plan / Test Strategy Jira Quality Assurance Definition: Any systematic process of determining whether a produc...
Software Testing Quality Assurance Instructor: Kaveh Eshraghian Overview QA Definition Agile Projects Themes / Epics / Issues / User Stories Kanban Boards Test Plan / Test Strategy Jira Quality Assurance Definition: Any systematic process of determining whether a product or service meets specified requirements, standards and is of high quality. Reviewed Components: Requirements Design Coding Documentation Agile vs. Traditional Projects Traditional project management characteristics: Driven by due dates. Laid out in terms of deliverables and dates assigned to each one. Typically done using something like a Gantt chart. Traditional project management Issues: Inflexible so that any unexpected event would require a complete rescheduling. Unable to break down complicated deliverables. Agile Projects Much more fl exible Breaks projects into Themes or initiatives, Epics or projects Tasks or issues Themes Definition: A wide area of focus that helps an Agile team to keep track of their organizational goals Description: One of the major goals A long-term objective that is a major and significant component of the project. AKA, a major strategic business objective. Epics Definition: A large body of work that constitutes one of the main components of a theme Characteristic: Measurable Level of organization between broader themes and individual user stories. Issues Definition: An issue represents an action that must be done in order to achieve larger goals within project (Epics). Characteristics: One of the tasks that needs to be completed as part of an epic. Can be a task, bug, feature A small enough task that it can be performed in a few days or a week. (sprint) Agile Project Breakdown User Stories Definition: A discrete product function or benefit that creates new value for customers. Characteristics: Same as product features Written from user’s perspective keep the developers informed of the importance of what they're working on Importance: They convey the user's perspective to developer Template (User Story): As a [type of user], I want to [perform some task] so that I can [achieve some goal]. User Stories (INVESTable) Independent The story should not depend on other stories and can be completed on its own, Negotiable It should open a conversation with the customer to invite refinement and change, Valuable It should provide significant value to the project, Estimable It should be estimated to be the right size for an issue, Small It should be able to be completed in a few days, Testable It should have clear acceptance criteria so tests can be written to verify it. Kanban Boards Software Test Plan Definition: (As per ISTQB) Test Plan is A document describing the scope, approach, resources, and schedule of intended test activities. Goal: Helps us determine the effort needed to validate the quality of the application under test. Serves as a blueprint to conduct software testing activities as a defined process. The instruction manual for the testing process Software Test Plan The test plan should include: A description of how the testing will be performed at a particular level, The objectives of the testing which should describe what is being tested and what this will prove, the scope of the testing which will determine what parts of the software are being tested as well as what parts are not being tested, A schedule of when the tests will be conducted and the order of the tests, A list of risks in the project and how they can be mitigated, A list of the hardware and software resources necessary to conduct the testing, A list of the roles and skills of the people required to do the testing. Test Strategy Definition: A short document which is often written before the test plan. Purpose: define the major test objectives and to make sure that the test aligns with the organizational needs Includes: A description of what makes this project unique A description of the SuccessFactors that are being tested, Risks involved to the business the project the product, etc, The roles and responsibilities of the people who will conduct the test, A rough schedule of the test, The level of the test for example component testing integration testing or system acceptance testing, The type of testing to be performed whether it be functional testing, security testing, usability testing or some other type. Test Plan Layout Introduction A list of test objectives The scope of the testing A system overview Approach A list of assumptions and constraints on the testing. How the test coverage will be determined. Software components to be validated. Business processes to be validated. Test Tools A list of the testing tools that will be required Test Type Test Plan Layout Test Plan The people on the test team and their responsibilities. Schedule listing the major parts of the testing. Environment A list and description of the hardware and software components. Any special training needed for the testing team. Features to be tested A list of the features to be tested. Features not tested. A list of functionality that will not be tested Test Plan Layout Testing procedure A general overview of the testing process. The order in which the tests will be conducted. A general description of pass/fail criteria. Defect Management How defects will be reported and managed. Risks List the risks to the project due to defects discovered during testing. Jira A software application that allows teams to track issues, manage projects, and automate workflows. It tracks Issues might include: Features which need to be built. Design documents which need to be written. Software tests which need to be written. Software tests which need to be executed. Jira Capabilities Add users to your project, Creating issues and placing them in one of the Kanban columns, Assigning issues two one of the team members, Moving issues through the Kanban columns, Notifying team members when the status of an issue in which they are interested changes. Jira Interface Creating Issues Reporting Bugs