Test Category - Test each stage of software development

Hello everyone, I'm XI.


Remember to test our classification map Part of it? Part of which is "divided by the software development phase," I do not remember it does not matter where I cut figure it out, we direct Figure it.



Test Category - according to the software development phase points .png



This figure it is that we want to explain this content. Mainly for what they are and what stage of work, the test object, test, test basis, test methods, test content and so on. Oh, I want to take notes.


Figure "by the software development phase is divided" into the subsequent seven kinds of tests, that the name implies, the subsequent seven kinds of tests were conducted on at all stages of software development. Different stages to do different tests.


Unit Testing Unit Testing


Also called module testing, software refers to the smallest unit can be checked and verified testing. It is to test the code.

  • Test phase: After coding

  • Test object: minimum module

  • Testers: Development Engineer

  • Test basis: Code + detailed design document

  • Test Method: white box

  • Test Purpose: verify the correctness of the basic components of software units.

  • Content Test: test module interface, local data structure of the test, a test path, the test error handling, boundary testing

This part can be understood.


Integration Testing (Integration Testing)


Also known as Joint Test, assembly and testing, tests on the base unit, all modules will be assembled in accordance with the general design requirements of the specification and the detailed design specification. The function of the system interface and integration / assembly for testing the accuracy of detection.

  • Test stage: Unit Testing

  • Test objects: interfaces between modules

  • Testers: white box / Senior Test Engineer

  • Testing based on: unit testing module design documents outline + + detailed design specification

  • Test Method: black box testing and white / gray box testing combined

  • Test Purpose: mainly checking the correctness of the interface between software units, Also check the correct functioning after integration

  • Test Content: data transfer between modules, a conflict between the functional modules, module assembly functional correctness, global data structure, a single impact on the system module defect

Test System (System Testing)


Including functionality, performance, and hardware and software environment software running test, test indulge business perspective, it is to verify the system meets the requirements.

  • Test stage: integration testing through

  • Test objects: the whole system (hardware and software)

  • Testers: Black Box / beginning and intermediate test engineer

  • Testing based on: requirements specification

  • Test Method: black box

  • Test Purpose: Verify that the system meets the needs of

  • Test content: business logic (function), interface, compatibility, ease of use, installation, documentation, performance, stability, security, etc.

验收测试(Acceptance Testing)


是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。

  • 测试阶段:系统测试通过之后

  • 测试对象:整个系统(软、硬件)

  • 测试人员:系统用户(测试人员+客户代表,或者客户方相关工作人员)

  • 测试依据:需求规格说明书+任务书

  • 测试方法:黑盒测试

  • 测试目的:确定产品是否能够满足合同或用户所规定需求

  • 测试内容:同系统测试

回归测试(Regression Testing)


是指修改了旧代码后,重新进行测试以确认问题已修复并且没有引入新的错误。

  • 测试阶段:软件开发的各个阶段都会进行多次回归测试

  • 测试对象:对应的bug以及相关模块的部分测试用例

  • 测试人员:相关测试人员(各个阶段的回归测试对应各个阶段的测试人员)

  • 测试依据:bug描述+软件开发各个阶段测试的依据物

  • 测试方法:软件开发各个阶段测试对应的测试方法

  • 测试目的:重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误

  • 测试内容:对应的bug描述内容以及相关模块的部分测试用例(不限)

Alpha测试(Alpha Testing)


又称α测试,是非正式验收测试,属于验收测试的一种,是由一个用户或者公司内部的用户在模拟生产环境下进行的测试。α测试的目的是评价软件产品的FLURPS(即功能、局域化、可用性、可靠性、性能和支持)。

  • 测试阶段:上述所有测试通过之后

  • 测试对象:整个系统(软、硬件)的核心业务流程

  • 测试人员:由软件的实际用户(客户方相关代表)或者是公司内部的用户,一般都应该是软件的实际用户

  • 测试依据:需求规格说明书+达成一致的验收标准(是项目初期与客户沟通好并且达成一致结果的验收标准,如果没有,按照需求规格说明书标准判断)

  • 测试方法:方法不限(白盒测试或者黑盒测试都有可能)

  • 测试目的:评价软件产品的FLURPS(即功能、局域化、可用性、可靠性、性能和支持)

  • 测试内容:以上测试的所有内容的子集或者全集

Beta测试


又称β测试,用户验收测试,也属于验收测试的一种,由软件的最终用户们在一个或多个客户场所进行。

  • 测试阶段:α测试达到一定的可靠程度时,才能开始β测试

  • 测试对象:整个系统(软、硬件),完全由相关责任人(测试人员)来决定

  • 测试人员:软件的实际用户

  • 测试依据:需求规格说明书+达成一致的验收标准

  • 测试方法:方法不限,同测试对象,是由相关责任人(测试人员)来决定

  • 测试目的:β测试主要衡量产品的FLURPS,着重于产品的支持性,包括文档,客户培训和支持产品生产能力。

  • 测试内容:完全由相关责任人(测试人员)来决定


下面我们简单介绍下α测试与β测试的区别


首先这两个测试一般都是大型通用软件中才有的,是软件上线/发布前的最后阶段的测试。


  • 测试的场所不同:Alpha测试是指把用户请到开发方的场所来测试,Beta测试是指在一个或多个用户的场所进行的测试。

  • 测试环境不同:Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。Beta测试的环境是不受开发方控制的,用户数量相对比较多,时间不集中。

  • 执行时间不同:Alpha测试先于Beta测试执行,且Beta测试需要在Alpha测试达到一定的可靠程度才能执行。


总结:上述我们总共讲了7种测试,那么对于初级测试的大家来说我认为单元测试与Alpha、Beta测试大家只要做简单了解即可;另外的集成测试、系统测试、回归测试、验收测试这4种则是重中之重,需要大家掌握并且理解的。


为了方便大家理解,我用“手机”给大家举个例子。


手机出厂前经过一系列的测试,我选择几个有代表意义的让大家感受下,大家在读的过程中可以自己思考下如何与上述内容一一对应。


集成测试:

充电器插拔测试,充电器能否插上,且插上充电后能否正常充电,拔了后是否显示不通电等等

音量增减开关测试:按增量键,音量增大;按减量键,音量减小

摄像头检测:检测摄像头是否能正常工作,且像素与说明一致


系统测试:

界面上所有按键一一测试:是否与说明书一致

Power use: beautiful interface, easy to use, compatible operating systems, app use, whether it can set a password / fingerprint, etc.

Battery durability testing: detecting a battery cell loss at different temperature / humidity, etc. usage


Acceptance Test:

QC plant tissue sampling, checks whether the phone contract (such as the number) or the requirements specification (such as mass, size, thickness, function, etc.) consistent with the contents

Customer representatives checks with the contract requirements specification or check if detected

QC aligned countries for testing, in line with eligibility and so on, give a certificate of conformity

Buy a mobile phone we get the phone through the use of mobile phones to detect whether the product description and instructions manual etc.


Regression Testing:

After experiencing problems over all aspects of the problem to rework the factory or aftermarket, then "inspectors" (who is not, which part of the problem, then return to the test by the relevant persons responsible for) its second test.

Finish the story, you can let the story and the content of this lesson correspondence on it?

  • Functional integration testing, and integration of the system interfaces / assembly after detection of correctness

  • The system tests to determine whether the product functional requirements specification and description consistent.

  • Regression testing, re-testing to confirm the modification does not introduce new bugs or cause other code to generate an error

  • Acceptance testing, to determine whether the product can meet the needs of the contract or specified by the user


Well, today's content so far. Welcome messages and communicate with me oh.





Guess you like

Origin blog.51cto.com/13874427/2435117