Te presentamos 

Prezi AI.

Tu nuevo asistente de presentaciones.

Perfecciona, mejora y adapta tus contenidos, busca imágenes relevantes y edita elementos visuales más rápido que nunca.

Cargando contenido...
Transcripción
  • IT business and role of QA
  • SDLC
  • Intro to test documentation
  • Testing types
  • Test cases design
  • Static testing
  • Automation intro
  • Agile tester
  • Web testing (vs desktop etc.)
  • Mobile testing
  • Tools
  • Soft skills
  • Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not.

  • According to ANSI/IEEE 1059 standard: A process of analyzing a software item to detect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the software item.
  • Test case template, what is a good test case
  • Testing coverage (traceability matrix,code coverage), external criteria
  • Equivalent classes and boundary conditions
  • Decision table (banking example)
  • Pairwise testing vs State transition (ATM example)
  • Mindmaps

Intro

How to write test

Testing specific

Software testing toolbox

Soft skills and your job

Agile tester

Tools and Soft Skills

Web testing

  • Briefly Agile manifesto,XP vs Scrum vs Kanban
  • Agile explained on Scrum
  • Agile mind set
  • Agile testing quadrants
  • Tester activities in agile team
  • Work with programmer
  • Agile practices : TDD,BDD,CI

  • Web testing vs desktop vs embedded comparison
  • Technologies explained simply:
  • client server architecture
  • basics of www /http/cloud/api
  • Testing specifics:
  • client vs server side testing/validations
  • cross browser, security, usability, performance
  • browser tools for testing
  • check lists & exploratory testing
  • deployment

In scope of daily activities testers use a lot of tools to improve their efficiency and help resolve problems they are facing with.

We will discuss:

  • Source control (on Git example)
  • SDLC and bug life cycle for Source control
  • Test management - process/bug/documentation storage/trackers
  • DB (SQL vs NoSQL), basics of SQL
  • Text redactors and IDE
  • OS scripting
  • Regexp
  • UNIX/PC machines
  • SSH keys

Summary - How all of this ties together

The sum of all of these efforts is called an software quality assurance. SQA helps ensure the development of high-quality software. SQA practices are implemented in most types of software development, regardless of the underlying software development model being used. In a broader sense, SQA incorporates and implements software testing methodologies to test software. Rather than checking for quality after completion, SQA processes tests for quality in each phase of development until the software is complete.

Intro to Automation

  • Why needed/important, what can be automated,
  • automation pyramid, automated test coverage, what a good automated test is
  • automated test data preparation, environment configuration and deployment
  • tools overview

Software Testing Tools

By Eddie Osorio Salan

Concordion

Concordion is a powerful tool to write and manage automated acceptance tests in Java based projects. It directly integrates with JUnit framework, making it ready to be used with all popular JAVA based IDEs like Netbeans, Eclipse, IntelliJ IDEA.

Cucumber

Behavior Driven Development gives us an opportunity to create test scripts from both the developer’s and the customer’s prospective as well.

-+--

Quality Assurance

Software Testing Overview:

QA, QC & Testing

When to start Testing

SDLC Best Practices

However in Software Development Life Cycle (SDLC), testing can be started from the Requirements Gathering phase and continued till the deployment of the software.

It depends on the development model that is being used:

  • Waterfall model
  • Incremental model

Testing is done in different forms at every step of the SDLC:

During requirements gathering

Review & Design

Testing performed by a developer

The software development lifecycle is not only a great way to ensure your app meets the needs of your business and customers, but it is also essential in supporting the app once it’s published.

Testing levels are basically to identify missing areas and prevent overlap and repetition between the development life cycle phases. In software development life cycle models there are defined phases like requirement gathering and analysis, design, coding or implementation, testing and deployment. Each phase goes through the

testing. Hence there are various levels of testing

S

D

ofware evelopment ife ycle

C

L

  • SDLC in details - Waterfall, V-model, agile and place of testing in them
  • Test process
  • Test documentations extended - test policy/strategy/plan
  • Test levels - unit,integration,system,UAT

When to Stop Testing?

Testing is a never-ending process and no one can claim that a software is 100% tested.

Key aspects:

  • Testing Deadlines
  • Completion of test case execution
  • Completion of functional and code coverage to a certain point
  • Bug rate falls below a certain level and no high-priority bugs are identified
  • Management decision

Quality Assurance

Something Important

QA includes activities that ensure the implementation of processes, procedures and standards in context to verification of developed software and intended requirements.

  • Focuses on processes and procedures rather than conducting actual testing on the system.
  • Process-oriented activities.
  • Preventive activities.
  • It is a subset of Software Test Life Cycle (STLC).

Thank you

Most people get confused when it comes to pin down the differences among Quality Assurance, Quality Control, and Testing. Although they are interrelated and to some extent, they can be considered as same activities, but there exist distinguishing points that set them apart.

Quality Control

Focuses on actual testing by executing the software with an aim to identify bug/defect through implementation of procedures and process.

  • Product-oriented activities.
  • It is a corrective process.
  • QC can be considered as the subset of Quality Assurance.

Testing

It includes activities that ensure the identification of bugs/error/defects in a software.

  • Focuses on actual testing.
  • Product-oriented activities.
  • It is a preventive process.
  • Testing is the subset of Quality Control.

Tips

QA

  • The goal of tester is to find defects, and software documentation plays key role in it
  • The goal of tester is to find a bugs as early as possible
  • Test documentation is different in different organization, but it have common concepts.
  • There is world acceptable standards in documentation for enterprises
  • IEEE-829, ISO/IEC/IEEE 29119

Definitions

A little more..

  • Experience on Data Testing with Synthetic data generation
  • Database sub-setting and scrambling
  • Graduated from UMG, Guatemala in 1997
  • Chess player
  • Ex Basket ball player
  • By hand pencil illustrator

Intro to test documentation

  • Test case (definition) vs bug report
  • Why bug report needed/What is a good bug report
  • Bug report template (Severity vs Priority)
  • Defect/bug/error/mistake and defect lifecycle.
  • Test case vs checklist

QA Roles

In the IT industry, large companies have a team with responsibilities to evaluate the developed software in context of the given requirements.

Examples:

  • Software Tester
  • Software Developer
  • Project Lead/Manager
  • End User
  • Software Quality Assurance Engineer

Eddie Osorio

  • 12 years of experience as QA Engineer/Analyst for USA and France companies
  • 25 years of IT Experience as Software Developer, Lead, Manager, IT Manager, QA Engineer, PM and SAP Operations Manager
  • Web development entusiast

Cost of finding and fixing defect

12 realms of

Software Quality Assurance

--

Static testing - specification review

Static testing is the testing of the software manually, or with a set of tools, but they are not executed.

Static testing is really important - as earlier bug is found, as cheapest cost of software and the tester efforts are more resultant.

Will talk about review, walkthrought and inspection.

Testing type

Functional Testing

  • static vs dynamic
  • white box vs black box vs grey box
  • manual vs automated

  • functional
  • non functional
  • related to changes - smoke/regression/confirmation
  • Script based vs exploratory
  • Blac Box Testing based on specifications
  • Unit Testing
  • Integration Testing
  • Regression Testing
  • Acceptance Testing
  • Alpha Testing
  • Beta Testing

Testing is all about

methodology

-

So we honestly could say, that types of testing are one of the tester's daily bread, in line with test strategy and test case design techniques

Levels of testing include different methodologies that can be used while conducting software testing. The main levels of software testing are:

Non - Functional Testing

Involves testing a software from the requirements which are nonfunctional in nature but important such as performance, security, user interface, etc.

  • Performance Testing
  • Usability Testing
  • Security Testing
  • Portability Testing

Test Plan

A test plan outlines the strategy that will be used to test an application, the resources that will be used, the test environment in which testing will be performed, and the limitations of the testing and the schedule of testing activities.

Software Testing Documentation

Test Scenario

It is a one line statement that notifies what area in the application will be tested. Test scenarios are used to ensure that all process flows are tested from end to end. A particular area of an application can have as little as one test scenario to a few hundred scenarios depending on the magnitude and complexity of the application.

Testing documentation involves the documentation of artifacts that should be developed before or during the testing of Software.

Documentation for software testing helps in estimating the testing effort required, test coverage, requirement tracking/tracing, etc. This section describes some of the commonly used documented artifacts related to software testing such as:

Test case design

Test Case

Traceability Matrix

Test cases involve a set of steps, conditions, and inputs that can be used while performing testing tasks. The main intent of this activity is to ensure whether a software passes or fails in terms of its functionality and other aspects. There are many types of test cases such as functional, negative, error, logical test cases, physical test cases, UI test cases, etc.

Traceability Matrix (also known as Requirement Traceability Matrix - RTM) is a table that is used to trace the requirements during the Software Development Life Cycle. It can be used for forward tracing (i.e. from Requirements to Design or Coding) or backward (i.e. from Coding to Requirements). There are many userdefined templates for RTM.

Descubre cómo crear presentaciones más dinámicas e interesantes con Prezi