测试快照

555
-1

Published on

简单介绍了多种不同的测试方法

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
555
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Unit Testing The most ‘micro’ scale of testing that is used for function or code testing. A code walkthrough is to be performed before the unit test. May require developing test driver modules or test harnesses.
  • Whitebox Testing Based on knowledge of the internal logic of an application’s code. Tests are based on coverage of code statements, branches, paths, conditions. Various types are: Basis Path Testing Loop Testing Input Testing Profiling
  • Blackbox Testing Done with user perspectives Not based on any knowledge of internal design or code. Tests are based on requirements and functionality The term blackbox refers to ‘Input/Unknown process/Output’ approach to testing (Data or condition driven) Techniques for managing the amount of input data required. Equivalence Partitioning Boundary Analysis Error Guessing
  • Integration Testing The term refers to orderly progression of testing in which s/w and-or h/w elements are combined and tested until the entire system is tested. This type of testing is especially relevant to client/server or distributed systems. For deciding the order of module integration following approaches may be followed. Top-Level modules Bottom-Level modules Critical modules An so on……..
  • Incremental Integration Testing The term refers to continuous testing of application as new functionality is added. Requires various aspects of applications functionality to be independent enough to work separately. May require test drivers to be developed.
  • System Testing It is black box type of testing. It is based on overall requirement specifications; covers all combined parts of a system. It is performed on COTS(Commercial off the shelf) It is based on process description and flow.
  • Functional Testing This type of testing is geared to functional requirements of an application. It is a black-box type of testing. Should be done by dedicated Testing Team.
  • End-to-End Testing It is similar to system testing. The ‘macro’ end of the test scale involves testing of a complete application environment in a situation that mimics real-world use. Some of the tests it includes is : Interacting with a database Using network communications Interacting with other hardware, applications, or systems.
  • Alpha Testing Testing of an application when development is nearing completion; minor design changes may still be made. Typically done by end-users or others, not by programmers. More often this testing is done by the in-house or by an outside testing firm.
  • Beta Testing Testing of a re-release of a software product. Testing when development and testing are essentially completed Used to find final bugs and problems before final release. Done by end-users or others .
  • Acceptance Testing It’s the final testing based on specifications of the end-user or customer . Checks that the system delivers what was requested. Done by the customer as he knows what is required from the system.
  • Regression Testing Retesting after fixes or modifications of the software or its environment . Ensures that system change or new development does not affect unchanged portions of the system. Automated testing tools can be especially useful for this type of testing.
  • Performance Testing Ideally ‘performance’ testing is defined in requirements documentation or QA or Test Plans. The term performance is often used interchangeably with ’stress’ and ‘load’ testing. It tests the response times and throughput rates under certain workloads and configuration conditions.
  • Load Testing It is testing an application under heavy loads. Determines at what point the systems response time degrades or fails under a range of loads. Often performed using an automated test tool to simulate large number of users.
  • Stress Testing The term stress is often used interchangeably with ‘load’ and ‘performance’ testing . Stress testing refers to system functional testing done under heavy load or stresses. The other criteria include Reception of certain actions or input Large complex queries to database system Input of large numerical values, etc
  • Comparison Testing It is a process of testing that an implementation conforms to the specification and standards. This type of testing includes comparing the software weaknesses and strengths to competing products. Conformance tests should be used by implementers early-on in the development process.
  • Sanity Testing Sanity Testing is an initial testing effort to determine if a new software version is performing well enough to accept it for a major testing effort. For example, if the new software is crashing systems every 5 minutes, bogging down systems to a crawl, or destroying databases, the software may not be in a ’sane’ enough condition to warrant further testing in its current state.
  • Usability Testing Usability testing is ideally for the ‘user-friendliness’. This kind of testing is clearly subjective and depends on the targeted end-user or the customer. User interviews, surveys, video recording of user sessions, and other techniques can be used.
  • Install/Uninstall Testing This type of testing is performed to ensure that all install features and options function properly. Tests are based on full, partial, or upgrade install/uninstall processes.
  • Recovery Testing This type of testing is performed for programs having Recovery objectives Tests are based on how well a system recovers from crashes, hardware failures, or other catastrophic problems.
  • Exploratory Testing Creative, informal software test that is not based on formal test plans or test cases. Testers may be learning the software as they test it Performed whenever the next test you perform is not obvious, or when you want to go beyond the obvious. Especially useful in Complex Testing situations, when little is known about the product, or as part of preparing a set of scripted tests.
  • Compatibility Testing Carried out to validate proper inter working of interconnecting network facilities & equipment. Performed prior to cutover to validate functional capabilities and services provided over the interconnections. Testing how well software performs in the following environment: Hardware and Software Operating system Network
  • Ad-hoc Testing A type of quality control testing that operates on randomization rather than on a fixed technique. An exploratory case expected to run only once unless it happens to uncover a defect. Strengths include: Increase in code coverage Check completeness of Testing Determine priorities for other test activities
  • Mutation Testing A method whereby errors are purposely inserted into a program under test to verify that the test can detect the error. Also known as error seeding.
  • Security Testing For Security and maintaining the System & Software Integrity. To test how well the system protects against unauthorized internal or external access or willful damage, etc.
  • 测试快照

    1. 1. 测试快照 Testing snapshot
    2. 2. <ul><li>最微观的测试,用来功能测试或代码测试。 </li></ul><ul><li>代码走查在单元测试前进行。 </li></ul><ul><li>可能需要开发测试驱动模块或测试工具。 </li></ul>1 ,单元测试
    3. 3. <ul><li>基于应用代码的内部逻辑之知识。 </li></ul><ul><li>测试基于代码声明、分支、路径和条件的覆盖。 </li></ul><ul><li>各种类型有: </li></ul><ul><ul><li>基本路径测试 </li></ul></ul><ul><ul><li>循环测试 </li></ul></ul><ul><ul><li>输入测试 </li></ul></ul><ul><ul><li>程序概要分析 </li></ul></ul>2 ,白盒测试
    4. 4. <ul><li>按用户的想法完成。 </li></ul><ul><li>不是基于内部设计或代码的任何知识。测试基于需求和功能。 </li></ul><ul><li>术语黑盒引用到测试的“输入 / 未知过程 / 输出”方法 (数据或条件驱动) </li></ul><ul><li>用来管理需要的输入数据量的技能 </li></ul><ul><ul><li>同等分割法 </li></ul></ul><ul><ul><li>边界分析 </li></ul></ul><ul><ul><li>错误估计 </li></ul></ul>3 ,黑盒测试
    5. 5. <ul><li>这个术语用于有次序的一系列的测试,软硬件被组合和测试,直到整个系统被测试。 </li></ul><ul><li>这种类型的测试尤其与 C/S 或 分布式系统相关。 </li></ul><ul><li>决定模块集成的次序,遵从以下的方法。 </li></ul><ul><ul><li>顶层模块 </li></ul></ul><ul><ul><li>底层模块 </li></ul></ul><ul><ul><li>关键模块 </li></ul></ul><ul><ul><li>等等。。。 </li></ul></ul>4 ,集成测试
    6. 6. <ul><li>这个术语用于当新的功能被添加,应用的持续测试。 </li></ul><ul><li>需要应用功能的各个方面是足够独立以独立工作。 </li></ul><ul><li>可能要求开发测试驱动。 </li></ul>5 ,增量集成测试
    7. 7. <ul><li>这是一种黑盒类型的测试。 </li></ul><ul><li>基于总体的需求说明书,覆盖一个系统的所有组成部分。 </li></ul><ul><li>当商务现货供应时进行。 </li></ul><ul><li>基于过程描述和流程。 </li></ul>6 ,系统测试
    8. 8. <ul><li>这种类型的测试适合于一个应用的功能需求。 </li></ul><ul><li>它是一种黑盒类型的测试。 </li></ul><ul><li>应该由专门的测试组完成。 </li></ul>7 ,功能测试
    9. 9. <ul><li>类似于系统测试。 </li></ul><ul><li>测试范围的大的端需要一个完全的应用环境,在模拟现实世界使用的情况下。 </li></ul><ul><li>包含的一些测试是 </li></ul><ul><ul><li>与数据库的交互 </li></ul></ul><ul><ul><li>使用网络通信 </li></ul></ul><ul><ul><li>与其它硬件、应用或系统 的交互 </li></ul></ul>8 ,端到端的测试
    10. 10. <ul><li>当开发接近完成,一个应用的测试;最小设计变更可能仍然存在。 </li></ul><ul><li>典型由终端用户或其他者完成,不是由程序员完成。 </li></ul><ul><li>更经常这种测试由内部的或外部测试公司完成。 </li></ul>9 ,阿尔法测试
    11. 11. <ul><li>一个软件产品的再次发布的测试。 </li></ul><ul><li>开发和测试根本上完成的时候的测试。 </li></ul><ul><li>在最后发布前用于发现最终的 bugs 和问题。 </li></ul><ul><li>由终端用户或其他者完成。 </li></ul>10 ,贝塔测试
    12. 12. <ul><li>这是基于终端用户或主顾的说明书的最终的测试。 </li></ul><ul><li>检查系统交付了所请求的。 </li></ul><ul><li>由主顾完成,因为其清楚系统的具体要求。 </li></ul>11 ,验收测试
    13. 13. <ul><li>软件或环境的修理或修改后的再测试。 </li></ul><ul><li>确保系统变更或新的开发不影响系统未变更的部分。 </li></ul><ul><li>对这种类型的测试,自动测试工具可能尤其有用。 </li></ul>12 ,回归测试
    14. 14. <ul><li>理想的性能测试定义于需求文档或 QA 或测试计划。 </li></ul><ul><li>术语性能常用于可替交地压力和负载测试。 </li></ul><ul><li>在确定的工作量和配置条件下,测试响应时间和吞吐量等级。 </li></ul>13 ,性能测试
    15. 15. <ul><li>在重负载下测试应用。 </li></ul><ul><li>决定在何点在一系列负荷下系统响应时间降低或失败。 </li></ul><ul><li>常使用自动测试工具模拟大量用户进行。 </li></ul>14 ,负载测试
    16. 16. <ul><li>术语压力使用常可与负载和性能测试互换。 </li></ul><ul><li>压力测试用于在重负荷或压力下的系统功能测试。 </li></ul><ul><li>其它的标准包括 </li></ul><ul><ul><li>确定活动或输入的接收效果 </li></ul></ul><ul><ul><li>对数据库系统的大量复杂查询 </li></ul></ul><ul><ul><li>大数值的输入,等 </li></ul></ul>15 ,压力测试
    17. 17. <ul><li>是测试的过程,其实现遵照规范和标准。 </li></ul><ul><li>这种类型的测试包括比较与竞争产品的软件的弱点和长处。 </li></ul><ul><li>在开发过程的早期,一致性测试应由执行者使用。 </li></ul>16 ,比较测试
    18. 18. <ul><li>健全测试是一个开头的测试投入,以决定一个新的软件版本运行足够好接受,以为一个大的测试投入准备。 </li></ul><ul><li>例如,如果新的软件每 5 分钟系统失灵,系统停顿至于爬行,或破坏数据库,这个软件可能不在足够健全的条件下,以能保证当前状态下的进一步测试。 </li></ul>17 ,健全测试
    19. 19. <ul><li>可用性测试是理想的用于用户方便性。 </li></ul><ul><li>这种测试是明确地主观的和依赖于目标终端用户或顾客。 </li></ul><ul><li>用户会谈、调查、视频记录用户会话、和其它技术可被使用。 </li></ul>18 ,可用性测试
    20. 20. <ul><li>这种类型的测试进行以确保所有安装特征和选择运行正常。 </li></ul><ul><li>测试基于完全的、部分的,或升级安装 / 卸载过程。 </li></ul>19 ,安装 / 卸载测试
    21. 21. <ul><li>这种类型的测试为有恢复目的的程序进行。 </li></ul><ul><li>测试基于一个系统恢复程度如何,从失灵、硬件失败、或其它灾难问题。 </li></ul>20 ,恢复测试
    22. 22. <ul><li>创造性的、非正式的软件测试,不是基于规范的测试计划或测试用例。 </li></ul><ul><li>当测试的时候,测试者可能在学习软件。 </li></ul><ul><li>当你进行的下一次测试不明显的时候,或当你想超越这个明显的时候,进行本测试。 </li></ul><ul><li>尤其在复杂的测试环境下有用,当对产品所知甚少,或作为准备一套 scripted 测试的部分。 </li></ul>21 ,探索性测试
    23. 23. <ul><li>执行以确证内部互联网络设施和设备的正常内部运行。 </li></ul><ul><li>在“切割”前进行,以证实功能能力和提供给互联的服务。 </li></ul><ul><li>测试软件在以下环境下的运行情况: </li></ul><ul><ul><li>硬件和软件 </li></ul></ul><ul><ul><li>操作系统 </li></ul></ul><ul><ul><li>网络 </li></ul></ul>22 ,兼容性测试
    24. 24. <ul><li>一种类型的质量控制测试,运行于随机选择而不是一种不变的技术 </li></ul><ul><li>一个探索性的例子,期望被仅运行一次,除非碰巧发现一个缺陷。 </li></ul><ul><li>长处包括: </li></ul><ul><ul><li>增加代码覆盖率 </li></ul></ul><ul><ul><li>检查测试的完全性 </li></ul></ul><ul><ul><li>决定其它测试活动的优先级 </li></ul></ul>23 ,随机测试
    25. 25. <ul><li>一种方法,错误借以有意地插入一个程序,在测试下证实测试能够监测到错误。 </li></ul><ul><li>也被称为错误播种。 </li></ul>24 ,变异测试
    26. 26. <ul><li>为了确保安全和维持系统和软件的完整性。 </li></ul><ul><li>对未授权的内部或外部接入或故意的破坏等,测试系统保护的程度如何。 </li></ul>25 ,安全测试
    27. 27. … … … …
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×