zoukankan      html  css  js  c++  java
  • Software Testing Essentials 软件测试精要

    1.     Full Life Cycle Test Strategies

    SDLC: Software development life cycle (SDLC)

    ·         Iterative

    ·         Incremental

    Waterfall Model and Spiral Model, Prototype model, V-Model

    Rational Unified Process,RUP

     

    Agile: http://www.agilemanifesto.org/

                    Inception-->Sprint (Plan>Dev>Test>Deliver)-->Transition

    ·         What make “Waterfall” waterfall? sequential and document-driven.

    ·         What make “Agile” agile? Flexible.

     

    Why/What/How are we testing? Test Goal/ Test Strategy/Test Plan/Test Case

    Test Goals: fall into 2 categories: Bug finding or validation.

    Test Strategy

    A test strategy is defined as:

    The plans and methods used to test your product to reach its goal.

    Test Plan: is a schedule, define scope – what to test, not to test; risks;

                    Objective, Scope, Strategy, Schedule, Resource, Risk;

    Test Strategy: is not a schedule, define techniques and approach/methods to do testing; many test plans have a “Test Approach” section which is the test strategy.

    2.     Test Case Essentials

    Test Case: title/objective, data, steps, expected res.

    Test case design criteria:

    ·         Test cases with no steps because it takes most of time to write, review and maintain test steps. (not for complex tests).

    ·         A test case should be an idea how you test.

    ·         A test ideally executes a single test objective.

    ·         Neither too simple nor too complex. (combine a too simple test case with others)

    ·         Not redundant with other test. (think of equivalence classes)

    ·         Best of its breed (think of boundary conditions)

     

    3.     Test Methods

    Test Type

    Unit Testing: always white-box;

    Integration Testing: gray-box, UI;

    System Testing: always black-box and UI layer testing.

    User Acceptance Testing: test before release; executed by users;

    Passive Testing: Functional Testing

    Active Testing: Ad Hoc Testing

    Test Methods

    Requirement-based Testing       Requirement traceability (TestDirector), not bug-finding but a validation test.

    Regression Testing: a confidence test, not active testing, not a bug finding method. has limitations; make sure of no bugs; repeating; automation testing;

    Forced Error Testing: fault injection. Aka. negative testing. Testing aimed at showing software does not work.

    ·         False passive: run into exception but test passed, due to bad test cases;

    ·         False negative: designed negative test case;

    Exploratory Testing: Test it when you explore it. It’s an approach and idea not a defined process. Do it when you think it’s proper.

    Ad Hoc Testing: no test plan, no test case. Or rough test plan with areas concentration at one time. Find bugs and test cases. not documented before running; could find missing cases; Regression tests and ad hoc tests complement each other.

    Scenario-based Testing: to test/simulate user behavior. Design use cases.

    Model-based Testing: is a technique that generates tests. Create a model. State transition.

    Data Driven Testing: a test technique that can be used in test methods like action based testing, model based testing, and scenario based testing.

    Action-based Testing: aka. Keyword-based testing. Action: do something.

    Risk-based Testing: not a test method but a prioritization or selection methods. Test potential problems. Known problems are not risks. Risk analysis: severity, frequency and priority.

     

    Test Method

    Bug Finding?

    Validation?

    Coverage?

    Maintenance Cost

    A test strategy sample

    Requirements-based/Functional

    X

    √√

    25%

    Regression

    X

    √√√

    25%

    Negative/ Forced Error

    X

    X

    10%

    Ad Hoc/ Exploratory

    √√

    X

    X

    X

    25%

    Scenario

    -

    X

    -

    15%

    Model-based

     

    Action-based

     

     

    Discussion: which will find more bugs?

    Function Testing vs. Error Testing

                                                    20%                        80%

     

    Boundary Definition: equivalent classes;

    Sample: Application name in Workbench;

    ·         26 English chars, 10 numbers;

    ·         Windows reserved chars: /\:*?”<>|        ( /\+$?%*:|”<>.[tab])

    ·         Blank space, -,_,…

    ·         Empty/long string;

    ·         Non-ASCII chars(FG);

    ·         Multi-byte chars(CFK);

     

    New Feature Testing In a Sprint

    Test Case Coverage:

    ·         Functional

    ·         Negative

    ·         Stress

    ·         Globalization

    ·         Boundary

    ·         Platform

    ·         Performance

    ·         Security

     

    Reference:

    1. googletesting.blogspot.com How Google Tests Software

      http://www.51testing.com

       

     

  • 相关阅读:
    对于CD翻录的一些记录
    暑期实践
    暑期实践
    垃圾处理器-CMS
    离合器半联动点的判断和技巧
    Win10+VS2019+OpenCV环境配置
    C++ 学习资料
    科目二起步原理
    道路交通安全违法行为记分分值分类总结
    NWERC 2020 题解
  • 原文地址:https://www.cnblogs.com/markjiao/p/2251428.html
Copyright © 2011-2022 走看看