在计算机行业,开发人员在实际的开发工作中会有自己涉及的主要领域,java,python,net,C#,C++等等。
按测试的内容可以分为:
功能测试,性能测试,易用性测试,大数据测试,安全性测试,可靠性测试,兼容性测试
安装测试,文档测试等
按服务类型可以分为为:
B/S(Browser/server):即(浏览器/服务器模式)的测试
C/S(client/server):即(客户机/服务器)模式的测试
按照测试方法可以分为:
白盒测试,黑盒测试,探索性测试(灰盒测试)
按照程序状态可以分为:
静态测试,动态测试
按照软件阶段可以分为:
单元测试,集成测试,系统测试,验收测试,回归测试,Alpha测试,Beta测试
这里对Alpha测试和Beta测试做一个简单的说明
Alpha测试:是由一个用户在软件或程序的开发环境下进行的测试,也可以是公司内部用户在模拟实际 *** 作环境下进行的受控测试,Alpha测试不可以由开发人员或者测试人员进行。
Beta测试:是软件或者程序的多个用户在一个或者多个用户的实际使用环境下进行的测试,同样不由开发人员或者测试人员进行。
按服务类型还可以做一个区分:
手机端测试,pc端测试
1、从是否关心内部结构来看
(1)白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。
(2)黑盒测试:又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性,它是站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行的测试。
(3)灰盒测试:是一种综合测试法,它将“黑盒”测试与“白盒”测试结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执行信息和外部用户接口结果的测试技术。
2、从是否执行代码看
(1)静态测试:指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
(2)动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。
3、从开发过程级别看
(1)单元测试:又称模块测试,是针对软件设计的最小单位----程序模块或功能模块,进行正确性检验的测试工作。其目的在于检验程序各模块是否存在各种差错,是否能正确地实现了其功能,满足其性能和接口要求。
(2)集成测试:又叫组装测试或联合,是单元测试的多级扩展,是在单元测试的基础上进行的一种有序测试。旨在检验软件单元之间的接口关系,以期望通过测试发现各软件单元接口之间存在的问题,最终把经过测试的单元组成符合设计要求的软件。
(3)系统测试:是为判断系统是否符合要求而对集成的软、硬件系统进行的测试活动、它是将已经集成好的软件系统,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、人员、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
在系统测试中,对于具体的测试类型有:
(1)功能测试:对软件需求规格说明书中的功能需求逐项进行的测试,以验证功能是否满足要求。
(2)性能测试:对软件需求规格说明书的功能需求逐项进行的测试,以验证功能是否满足要求。
(3)接口测试:对软件需求规格说明中的接口需求逐项进行的测试。
(4)人机交互界面测试:对所有人机交互界面提供的 *** 作和显示界面进行的测试,以检验是否满足用户的需求。
(5)强度测试:强制软件运行在异常乃至发生故障的情况下(设计的极限状态到超出极限),验证软件可以运行到何种程序的测试。
(6)余量测试:对软件是否达到规格说明中要求的余量的测试。
(7)安全性测试:检验软件中已存在的安全性、安全保密性措施是否有效的测试,
(8)可靠性测试:在真实的或仿真的环境中,为做出软件可靠性估计而对软件进行的功能(其输入覆盖和环境覆盖一般大于普通的功能测试)
(9)恢复性测试:对有恢复或重置功能的软件的每一类导致恢复或重置的情况,逐一进行的测试。
(10)边界测试:对软件处在边界或端点情况下运行状态的测试。
(11)数据处理测试:对完成专门数据处理功能所进行的测试。
(12)安装性测试:对安装过程是否符合安装规程的测试,以发现安装过程中的错误。
(13)容量测试:检验软件的能力最高能达到什么程度的测试。
(14)互 *** 作性测试:为验证不同软件之间的互 *** 作能力而进行的测试。
(15)敏感性测试:为发现在有效输入类中可能引起某种不稳定性或不正常处理的某些数据的组合而进行的测试。
(16)标准符合性测试:验证软件与相关国家标准或规范(如军用标准、国家标准、行业标准及国际标准)一致性的测试。
(17)兼容性测试:验证软件在规定条件下与若干个实体共同使用或实现数据格式转换时能满足有关要求能力的测试。
(18)中文本地化测试:验证软件在不降低原有能力的条件下,处理中文能力的测试。
4、从执行过程是否需要人工干预来看
(1)手工测试:就是测试人员按照事先为覆盖被测软件需求而编写的测试用例,根据测试大纲中所描述的测试步骤和方法,手工地一个一个地输 入执行,包括与被测软件进行交互(如输入测试数据、记录测试结果等),然后观察测试结果,看被测程序是否存在问题,或在执行过程中是否会有一场发生,属于比较原始但是必须执行的一个步骤。
(2)自动化测试:实际上是将大量的重复性的测试工作交给计算机去完成,通常是使用自动化测试工具来模拟手动测试步骤,执行用某种程序设计语言编写的过程(全自动测试就是指在自动测试过程中,不需要人工干预,由程序自动完成测试的全过程;半自动测试就是指在自动测试过程中,需要手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试)
5、从测试实施组织看
(1)开发测试:开发人员进行的测试
(2)用户测试:用户方进行的测试
(3)第三方测试:有别于开发人员或用户进行的测试,由专业的第三方承担的测试,目的是为了保证测试工作的客观性
6、从测试所处的环境看
(1)阿尔法测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际 *** 作环境下进行的测试
(2)贝塔测试:是用户公司组织各方面的典型终端用户在日常工作中实际使用贝塔版本,并要求用户报告
扩展资料软件测试的内容:
1 得到需求、功能设计、内部设计说书和其他必要的文档
2 得到预算和进度要求
3 确定与项目有关的人员和他们的责任、对报告的要求、所需的标准和过程 ( 例如发行过程、变更过程、等等 )
4 确定应用软件的高风险范围,建立优先级、确定测试所涉及的范围和限制
5 确定测试的步骤和方法 ── 部件、集成、功能、系统、负载、可用性等各种测试
6 确定对测试环境的要求 ( 硬件、软件、通信等 )
7 确定所需的测试用具 (testware) ,包括记录 / 回放工具、覆盖分析、测试跟踪、问题 / 错误跟踪、等等
8 确定对测试的输入数据的要求
9 分配任务和任务负责人,以及所需的劳动力
10 设立大致的时间表、期限、和里程碑
11 确定输入环境的类别、边界值分析、错误类别
12 准备测试计划文件和对计划进行必要的回顾
13 准备白盒测试案例
14 对测试案例进行必要的回顾 / 调查 / 计划
15 准备测试环境和测试用具,得到必需的用户手册 / 参考文件 / 结构指南 / 安装指南,建立测试跟踪过程,建立日志和档案、建立或得到测试输入数据
16 得到并安装软件版本
17 进行测试
18 评估和报告结果
19 跟踪问题 / 错误,并解决它
20 如果有必要,重新进行测试
21 在整个生命周期里维护和修改测试计划、测试案例、测试环境、和测试用具
参考资料:
测试类型有:功能测试,性能测试,界面测试。
1、功能测试
在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
2、性能测试
是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。
通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
3、界面测试
界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的 *** 作,起到向导的作用。
同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。
扩展资料:
测试原则
1、测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。
2、程序员应该避免检查自己的程序,软件测试应该由第三方来负责。
3、设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下还要制造极端状态和意外状态,如网络异常中断、电源断电等。
4、应该充分注意测试中的群集现象。
5、对错误结果要进行一个确认过程。一般由A测试出来的错误,一定要由B来确认。严重的错误可以召开评审会议进行讨论和分析,对测试结果要进行严格地确认,是否真的存在这个问题以及严重程度等。
6、制定严格的测试计划。一定要制定测试计划,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
7、妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
参考资料来源:百度百科--软件测试
程序和系统调试的一般过程分为以下几种常用的测试数据:
1、代码测试。是通过代码测试函数,来把执行的结果,和用户预设的代码内容。
2、程序功能测试正常数据调试。内容包括程序的语法调试和逻辑检查。在逻辑检查之前,需要编造测试数据。
3、异常数据调试。异常数据和错误数据,用来考验程序的正确性和可靠性。
软件测试的工作内容主要包括“验证”和“确认”,具体内容如下。
一、验证:保证软件正确地实现了一些特定功能的一系列活动,即保证软件以正确的方式来做了这个事件。
1、确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程。
2、程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程。
3、评审、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
二、确认:一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性,即保证软件做了用户所期望的事情。
1、静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性。
2、动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
扩展资料
一、软件测试的原则
1、测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。
2、程序员应该避免检查自己的程序,软件测试应该由第三方来负责。
3、设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下还要制造极端状态和意外状态,如网络异常中断、电源断电等。
4、应该充分注意测试中的群集现象。
5、对错误结果要进行一个确认过程。严重的错误可以召开评审会议进行讨论和分析,对测试结果要进行严格地确认,是否真的存在这个问题以及严重程度等。
6、制定严格的测试计划。一定要制定测试计划,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
7、妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
二、软件测试的主要目标
1、发现一些可以通过测试避免的开发风险。
2、实施测试来降低所发现的风险。
3、确定测试何时可以结束。
4、在开发项目的过程中将测试看作是一个标准项目。
参考资料来源:百度百科——软件测试
1、测试开发工程师,毕竟也是测试人员,基础的测试理论是必须熟悉与掌握,包括黑盒测试、白盒测试以及等价类、边界值等设计测试用例方法等。
实践:最基本熟读《软件测试》一书
2、通过编写代码写自动化测试用例、写测试框架和工具,一定需要掌握一门编程语言,例如Python、Java、Go语言。个人选择的是Python。
实践:如利用熟悉的语言自己开发一个小型的Web项目,然后进行测试,找出问题,解决问题
3、性能测试也是项目中不可少的一项,因此需要了解熟悉性能测试基本原理、独立分析性能测试各项指标,掌握使用性能测试工具,如Jmeter、Loadrunner等。
4、自动化常见的有接口自动化、UI自动化。熟悉精通>
5、测试人员也需要掌握持续集成的概念和理论,熟悉使用持续集成工具,如Jenkins
6、熟悉掌握Linux系统的基本常用命令
7、熟悉使用数据库,懂得编写多表查询,子查询等复杂语句(有些项目可能需要学习MongoDb、Redis)
按测试过程分:单元测试、集成测试、系统测试按方法分:黑、白、灰盒测试。根据软件主要侧重:性能测试、功能测试、兼容测试、压力测试、负载测试、验收测试。其中验收测试包含:
(1)、软件功能确认测试:功能测试的主要内容包括软件安装、卸载测试,用户手册中提及的所有功能测试及边界值测试。相对于测试内容其测试准则可以规定为被测系统是否可以按照用户文档中的描述能成功的安装和卸载;用户文档中提到的所有功能是否可以顺利执行,并符合用户文档给定的边界值;软件系统的运行是否与用户文档中的描述相互一致。因此可以说功能符合性测试是软件系统最基本的测试。
(2)、安全可靠性测试:用户权限限制测试、留痕功能测试、屏蔽用户 *** 作错误应答测试、系统备份与恢复手段测试、多用户 *** 作输入数据有效性测试、异常情况及网络故障对系统的影响测试。
(3)、易用性测试:易用性测试主要着重易学易用性、联机帮助、功能 *** 作程度的难易性、软件界面清晰程度等几个方面。其测试标准主要考察软件的各个功能项的 *** 作是否有联机帮助,非计算机专业用户是否可通过用户手册轻松 *** 作。其目的是衡量软件系统的普及推广的难易度。
(4)、可扩充性测试:任何一个版本的软件系统都有一定的使用周期,每格一段时间就需要升级,进行功能扩充。此外,有的软件系统还需要与其它软件系统进行数据交流。这就需要检测软件系统升级是否方便;是否留有非本系统的数据接口,以方便数据的传输。此项检测的另一项主要任务就是检测用户是否可以通过修改配置文件或其它非编程方式修改或增减系统功能。
(5)、兼容性测试:兼容性测试是软件测试中的重要一环,其测试内容是软件在规定的不同 *** 作系统中运行是否正常。在规定的不同数据库系统上运行是否正常,以及在规定的不同型号的硬件环境中运行是否正常。
(6)、效率测试:随着局域网站数的增加以及广域网的使用,数据的网络传输时间和存取时间逐渐变成软件使用中的瓶颈,所以如何提高运行效率已成为各方面注意的焦点,也成为衡量软件产品质量的指标之一。进行这一测试技术性较强,需要了解待测软件系统采用什么样的传输协议,已及什么样的传输方式。测试时需要必要的测试环境及使用专用网络测试工具。
(7)、资源占用率测试:系统资源一般是指内外存储、CPU、通讯端口以及网络带宽等系统资源。如何合理利用系统资源是与软件系统的性能密切相关的。例如,如果软件系统运行的CPU利用率超过50%,或系统内存的占有率一直居高不下则系统运行的速度就会令人无法忍受;若随意占有通讯端口就会照成一些通用的通讯软件无法运行。同样如果采用广播式发送,就会占用网络带宽,使网络的通讯速度降低。这些都会给用户造成不变,使用户不得不升级硬件系统或扩展网络带宽。因此,资源占有率的测试越来越显示出其重要性。
(8)、用户文档资料验收:使用手册对用户可调用的所有功能有完整的描述;使用手册能使正常执行其产品的用户充分理解的产品的性能;使用手册易于浏览,并有目录和索引;文档中的所有资料没有错误的表达;文档的内容说明与系统实际的结果相互一致;管理员手册中具有软件的标识和运行环境的说明;管理员手册具有安装和维护的有关说明;管理员手册提供正常运行的边界值。
山东省软件评测中心根据多年经验提供全程软件质量保障服务,在规划阶段、实施阶段、交付阶段、运维阶段分别提供相应阶段的质量保障服务。
第一类测试方法是试图验证软件是“工作的”,所谓“工作的”就是指软件的功能是按照预先的设计执行的;而第二类测试方法则是设法证明软件是“不工作的”。
还有两大类:白盒法和黑盒法。
白盒法:你清楚程序的流程时,用不同的数据测试你程序的代码,验证程序的正确性,有:条件测试,路径测试,条件组合。。。。
白盒法用在程序开发阶段的前期。
黑盒法:主要用于程序开发阶段的后期,即程序的流程测试正确后,测试程序的结果。有什么因果法,边缘值法等。
具体你可以买本软件工程方面的书看看。
还有一下方法:
功能测试:可接受性测试:用户界面测试:探索或开放’型的测试:性能测试:回归测试:强力测试:集成与兼容性测试:装配/安装/配置测试:国际化支持测试:本地化语言测试:
这些都是测试的方法
以上就是关于软件测试分哪几种全部的内容,包括:软件测试分哪几种、软件测试的方法一共有几种、软件测试类型都有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)