‘壹’ 软件测试分哪几种
在计算机行业,开发人员在实际的开发工作中会有自己涉及的主要领域,java,python,.net,C#,C++等等。
测试人员也一样,因此软件测试是有很多种分类的。
按测试的内容可以分为:
功能测试,性能测试,易用性测试,大数据测试,安全性测试,可靠性测试,兼容性测试
安装测试,文档测试等
按服务类型可以分为为:
B/S(Browser/server):即(浏览器/服务器模式)的测试
C/S(client/server):即(客户机/服务器)模式的测试
按照测试方法可以分为:
白盒测试,黑盒测试,探索性测试(灰盒测试)
按照程序状态可以分为:
静态测试,动态测试
按照软件阶段可以分为:
单元测试,集成测试,系统测试,验收测试,回归测试,Alpha测试,Beta测试
这里对Alpha测试和Beta测试做一个简单的说明
Alpha测试:是由一个用户在软件或程序的开发环境下进行的测试,也可以是公司内部用户在模拟实际操作环境下进行的受控测试,Alpha测试不可以由开发人员或者测试人员进行。
Beta测试:是软件或者程序的多个用户在一个或者多个用户的实际使用环境下进行的测试,同样不由开发人员或者测试人员进行。
按服务类型还可以做一个区分:
手机端测试,pc端测试
‘贰’ 手机可靠性测试包括哪些
可靠性测试包括六个部分:加速寿命测试,气候适应测试,结构耐久测试,表面装饰测试,特殊条件测试,及其他条件测试。手机可靠性测试项目
1.1. 加速寿命测试ALT (Accelerated Life Test)
1.1.1 室温下参数测试 (Parametric Test)
1.1.2 温度冲击测试(Thermal Shock)
1.1.3 跌落试验(Drop Test)
1.1.4 振动试验(Vibration Test)
1.1.5 湿热试验(Humidity Test)
1.1.6 静电测试(ESD)
1.2.气候适应性测试 (Climatic Stress Test)
A: 一般气候性测试:
1.2.1.高温/低温参数测试(Parametric Test)
1.2.2.高温/低温功能测试(Functional Test)
B:恶劣气候性测试
1.2.3.灰尘测试(Dust Test)
1.2.4.盐雾测试(Salt fog Test)
1.3.结构耐久测试 (Mechanical Enrance Test)
1.3.1.按键测试(Keypad Test)
1.3.2.侧键测试(Side Key Test)
1.3.3.翻盖测试(Flip Life Test)
1.3.4.滑盖测试(Slide Life Test)
1.3.5. 重复跌落测试(Micro-Drop Test)
1.3.6. 充电器插拔测试(Charger Test)
1.3.7.笔插拔测试(Stylus Test)
1.3.8点击试验 (Point Activation Life Test)
1.3.9划线试验 (Lineation Life Test)
1.3.10.电池/电池盖拆装测试(Battery/Battery Cover Test)
1.3.11. SIM Card 拆装测试(SIM Card Test)
1.3.12. 耳机插拔测试(Headset Test)
1.3.13.导线连接强度试验(Cable Pulling Enrance Test--Draft)
1.3.14.导线折弯强度试验(Cable Bending Enrance Test--Draft)
1.3.15.导线摆动疲劳试验(Cable Swing Enrance Test--Draft)
1.4 表面装饰测试 (Decorative Surface Test)
1.4.1.磨擦测试(Abrasion Test - RCA)
1.4.2.附着力测试(Coating Adhesion Test)
1.4.3.汗液测试(Perspiration Test)
1.4.4.硬度测试(Hardness Test)
1.4.5. 镜面摩擦测试(Lens Scratch Test)
1.4.6 紫外线照射测试(UV illuminant Test)
1.5.1. 低温跌落试验(Low temperature Drop Test)
1.5.2. 扭曲测试(Twist Test)
1.5.3. 坐压测试(Squeeze Test)
1.5.4. 钢球跌落测试(Ball Drop Test)
1.6 其他条件测试
1.6.1螺钉的测试(Screw Test)
1.6.2挂绳孔强度的测试(Hand Strap Test)
可靠性是指产品在规定的条件下、在规定的时间内完成规定的功能的能力。产品在设计、应用过程中,不断经受自身及外界气候环境及机械环境的影响,而仍需要能够正常工作,这就需要以试验设备对其进行验证,这个验证基本分为研发试验、试产试验、量产抽检三个部分。
1.其中气候环境包含:高温、低温、高低温交变、高温高湿、低温低湿、快速温度变化、温度冲击、高压蒸煮(HAST)、温升测试、盐雾腐蚀(中性盐雾、铜加速乙酸、交变盐雾)、人工汗液、气体腐蚀(SO2/H2S/HO2/CL2)、耐焊接热,沾锡性,防尘等级测试(IP1X-6X),防水等级测试(IPX1-X8)、阻燃测试,UV老化(荧光紫外灯)、太阳辐射(氙灯老化、卤素灯)、等等;
2.其中机械环境包含:振动(随机振动,正弦振动)、机械冲击、机械碰撞、跌落、斜面冲击,温湿度 振动三综合、高加速寿命测试(HALT)、高加速应力筛选(HASS、HASA)、插拔力,保持力,插拔寿命,按键寿命测试、摇摆试验、耐磨测试、附着力测试、百格测试等
‘叁’ 手机软件测试流程
你好!
具体的资料你可以去51testing上查,那里有手机测试专区,资料很全的说!
这个内容比较多喔,包括软件测试和硬件测试两部分!
手机测试
一.软件压力测试:用自动测试软件连续给手机拨打1000个电话,检查手机是否会发生故障.
二.抗摔性测试:抗摔性测试由专门的PRT可*性实验来进行.半米的微跌落测试要做300/面(手机有6个面).而2米的跌落测试每个面需各做一次.还有模拟人把手机扔到桌面的测试.
三.高温低温测试:让手机处于高低不同的温度来检测手机的适应性.
四.高湿度测试:用一个专门的箱子来操作滴水测试,模拟人出汗的情况(水里面掺有一定比例的盐)
五.百格测试:用H4的铅笔在手机的外壳画100个格子,看看外壳会不会掉油漆.
六.翻盖测试:对翻盖手机进行翻盖10万次,检查壳体的损耗情况.
七.扭矩测试:直板机,用夹具夹住两头,一头左拧,一头右拧.测试壳体和手机里面大型器件的强度.
八.静电测试:北方天气干燥,手摸金属的东西容易产生静电,击穿手机电路,有些设计不好的手机就是这么突然坏的.有专门的静电枪和铜板来测试.
九.按键测试:借助机器以给定的力量击打键盘10万次.
十.沙尘测试:手机放入特定的箱子,细小的沙子被鼓吹起来.数小时后,察看手机里面是否有沙子进入,如果是,那么手机密闭性不好,结构设计有待重新调整.
‘肆’ 哪些方面可提现软件质量的可靠性
可以从以下方面来考量:
1、功能性:系统完成所期望的功能的能力。
2、性能:系统的响应能力。性能经常使用基准测试程序来测量
3、可靠性:在错误情况下维持系统的功能特性的基本能力。可靠性通常用MTTF和MTBF来衡量。可靠性包括两个方面:容错和健壮性。容错是错误发生时确保系统正常的行为,如分布式系统中,系统与远程构件失去连接,容错保证其他能自动搜索到其他可用的连接,从而保证系统正常工作。健壮性指系统遇到错误时处于一个已经定义好的状态。健壮性不能保证系统遇到错误时一定还能够继续运行。个人的理解是:容错是错了你也不知道(因为系统能处理)。健壮性是按固定的方式错。
4、可用性:系统能够正常运行的时间比例。
5、安全性:向合法用户提供服务的同时阻止非授权用户使用的企图或者拒绝服务的能力。
6、可修改性:指对系统进行变更的能力。包含软件可靠性是指在指定条件下使用时,软件产品维持规定的性能级别的能力;针对软件可靠性中的容错性子特性应测试软件失效防护能力。
‘伍’ 什么是手机软件测试
手机测试是一个很大的题目,涉及到硬件测试和软件测试,还有结构的测试,比如抗压,抗摔,抗疲劳,抗低温高温等,结构上的设计不合理,会造成应力集中,使得本身外壳变形,对于翻盖手机,盖子失效,还有其他严重问题。硬件测试一般都有严格的物理电气指标,也有专门的仪器,这里的仪器,不在多说,一般如果是专业的测试人员,不会对词陌生吧。
手机测试,一般是指软件测试,这个一方面也说明了软件在手机上的重要行。一方面也说明手机测试的难度。因为期他得测试都有明确的指标,严格的操作规程,还有各种仪器。下面说的手机测试一般都是手机软件测试,以后不在重复说明。
在说明手机测试之前,我觉得应该了解一下什么是嵌入市操作系统,这是个时髦的名词,虽然我们已经被嵌入市操作系统的产品所包围,但是却不一定能说清楚,什么是嵌入式操作系统,而学校的课堂上,讲的也不多,所以很多人对此感到云山舞罩。
简单的说,一个嵌入市操作系统就是为完成某中特定功能而专门开发的操作系统。这个操作系统的功能很明确,不象大型操作系统,范围广泛,大千世界,尽在其中,而嵌如操作系统只为完成某一项或者几项功能。
再说一下手机的特殊性,也就是要求对响应时间达到一定限制范围。也就是所谓的实时操作系统,如果一个电话不能在90秒内接听,那么对方会挂掉。而你的操作系统还没反映过来,那么这个操作系统无疑是失败的,这是对嵌如操作系统实时性的要求。
作为一个测试人员,你必须了解这些,可能对一些软件开发人员,他不必很在意这些方面,因为他只要了解自己模块的入口说明和 出口说明就可以。但是测试人员不行。高级测试人员应该了解嵌入操作系统的特点,这个系统不象WINDOWS,有图形界面可以输入输出,也不象D OS用命令行模式,所有这些,都需要自己编写一个编辑器,编写一个交互界面,编写一个输入输出界面,在WINDOWS中,利用一些API和一些M FC,不用考虑硬件的问题,因为系统已经完成,而WINDOWS是讲究和硬件分离的,因为这样可以保护系统不受侵入。而在嵌入市系统里面。这一些都要求和硬件息戏相关。手机测试中,软件出现的故障不一定是由于软件的错误,也可能是由于没有考虑到硬件和软件没有完美的结合。
因此我们在了解操作系统同时,也要了解一下其他的手机硬件性能,比如CPU ,比如存储器。
CPU的处理运算能力是以MIPS来衡量的,当然越快越好,但是也是和成本相关的,我不知道现在MOTOROLA T39的CPU,但是,因为是PDA,又是手写屏幕,所以菜单特别的慢。关于存储器需要专门做出说明,因为这里 的存储器很特别,不象PC,手机没有硬盘!
嵌入时系统的编程语言一般有C,而且也是最多的,也有其他语言。比如C++在最开始时候是用 汇编的,但是汇编难懂,而且也不容易移植,渐渐的被C代替,不过即使如此,在启动程序时候,要启动板子,也就是电路板时候,还是需要用一些汇编语言完成。
作为一个嵌入市系统的程序,和在PC上运行着的程序没有任何不同,唯一不同可能是在PC上运行的程序,你可以看到结果——如果你用输出语句的话,而在这里,你是看布道结果的。除非你加上L CD硬件,然后编写了LCD驱动程序,然后再编写显示 程序。编写嵌入市程序,一切都要自己解决。
我们的手机如果不是认为把电源切断的话,或者在电源消耗到一定程度的话,是会一直在使用的,所以,手机程序是一直在运转的,就是说一直在循环,这个,对于了解嵌入市程序,应该是个好材料——嵌入式程序就是一个无限循环的程序,除非关掉电源和电源因素,这里也有一个测试点:硬件中断是最高级的,它会终止你的程序,即使你现在的程序级别很高,比如通话,如果没电了,一切会o ver.
手机程序就是在一个无限循环的程序,什么时候跳出这个无限循环?你关机吧,如果感到不高兴,把电池卸下来,因为有可能进入死循环,而关机键失效了,——只好通过取下电池了。
这里要专门说明一下存储器,因为很多手机毛病都和存储有关,而且很多问题都和存储相关,计算机的存储是关键,而手机更是关键,因为计算机有硬盘作为存储,而手机所有的都在存储器里
存储器分为几类,RAM 随机存储器,ROM随机只读存储器还有现在出现一些的闪存,以及电子可编程存储和非易失存储起。一个一个到来 。RAM 随机存储器,其中又有SRAM(静态RAM)DRAM(动态RAM),
SRAM,只要只要电源开着,就会保存,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不会立刻写入通话记录。只有正常关机,才会写入,如果取电池的话,是不会写入手机的通话记录的,如果在通话记录中出现了已经拨打电话,但是没有记录的情况,那么有可能和这个存储器有关,可能是你的软件上错误,也可能是硬件。DRAM在手机上用的不多,因为保留数据时间很短。从价格上看,SRAM是非常昂贵的,而DRAM相比很便宜。
ROM也有几种,PROM可编程ROM 和EPROM可擦除可编程ROM。两者区别是,PROM是一次性的,也就是软件灌入后,这个就完蛋了,这种是早期的产品,现在已经不可能使用了,而E PROM则是通用的存储器,这些存储器不符和手机软件产品,一般使用ROM少。
其他FLASH。这是近来手机采用最多的存储器,这种存储起结合了ROM和RAM的长处,但是不属RAM也不属于ROM。手机大量采用的NVRAM 非易失存储器。 和SRAM属性差不多,EEPROM 电子可擦出可编程存储器 。闪存,ROM的后代。手机软件一般放在EEPROM中,EPROM是通过紫外光的照射,擦除原先的程序,而EEPROM是通过电子擦出,当然价格也是很高的,而且写入时间很长,写入很慢,所以前面提到的电话号码,一般先放在S RAM中,不是马上写入EEPROM,因为当时有很重要工作要做——通话,如果写入,漫长的等待是让用户忍无可忍的。 NVRAM 是一个很特别的存储器,它和SRAM相类似,但是价格却高很多,由于一些数据实在重要,断电后必须保持这些数据,所以只能存放在这里,一般和个人信息有关的数据会放在这里,比如和S IM卡相关数据。容量大小也只有几百字节。
闪寸存储器是所有手机的首选,综合了前面的所有优点,不会断电丢失数据(NVRAM)快速读取,电子可擦出可编程(EEPROM)所以现在手机大量采用。
说了这么多存储器,可能比较糊涂了,这么多存储器,究竟采用哪中呢,在手机发展中,各种存储器都用过,至于现在,各种手机采用的存储器是不同的,这个和成本相关,各种存储器价格不一样,本着性价比最优组合,由设计者决定,有些是可选的,有些是必须的,是手机方案决定的,我们了解只是各种存储性能,特点,在测试中判断错误原因。
-----------------------------------------------
手机协议站软件的白盒测试
手机软件测试单从测试的内容来看,包括上面的MMI和底下的PROTOCOL。由于MMI的灵活性,和各个厂家的个性化,以及手机本身的用户不同。MMI的侧重点也就不同,在基本通话、短消息、数据功能完成的基础上可以五花八门,所以测试的重点不同。测试方法各不相同。 但是协议就不同了,协议是统一的,虽然你实现方法可以不同,但是完成的功能必须相同,和MMI不同,虽然都是聊天,但是有些用短消息
聊天,有些用PUSH聊天,而协议软件有一个遵守的规范——ETSI指定的协议规范,有统一的命令规范和统一的标准。消息(术语,不是软件编程里的消息,是通信术语)是固定的嘛。 针对协议的测试,因为有标准可循,有规范可仪,所以软件测试就很多工具,公司也多,自动化测试要自动话,否则,按照人的测试能力,谁也无法保证其绝对可靠性,也没有这么大的人力去仔细做测试。
一般对于白盒测试是比较严格的,而且也是耗费人力的,所以常采用自动化测试工具。这样节省人力、缩短测试时间。至于谁家的工具比较好,涉及各取所需吧,也涉及到成本问题。你如果想购买某产品,会给你一个DEMO版本,给你一个月的评价时期,这个评估版本让你熟悉其产品的优劣也让你熟悉其操作。测试工具一般都有二次开发功能,也就是可以自己编写脚本,针对不同的软件平台做一些改动,这样可以根据自己的需要编写测试CASE测试用列。当然即使是全部用自动化测试,你心理还是没底,你还是要仔细去看代码。分析流程,读懂其含义,一个很小的问题,出错保护没有作好,一般这个问题最多,出错保护机制没有作好,会造成崩溃这样严重的问题。 这是针对协议代码的白盒测试 。如果你是对购买来的协议进行测试,一般有仪器,模拟一个网络基站,进行测试,不过这样的仪器非常昂贵,而且测试人员要对ETSI协议比较熟悉。 我没有直接参加针对协议的白盒测试,不过对评估般的测试软件曾经PRACTISE,可测试覆盖率,我很奇怪的是,一般打点(跟踪)也是需要消耗CPU时间的这样程序效率就降低了,而我要测试程序的效率等项目就要考虑CPU,而且程序的工作运转必须和CPU息息相关,而现在CPU 在保证程序RUN同时,还要进行打点,是否测试出的指数和实际不符和呢,是否没有达到真实的水平呢?而它这个产品(水牛)介绍说,一般不占用CPU时间,我想了很长时间没有想通后想咨询,告之这是他们的专利,无可奉告。由于这种测试工具是针对平台,所以如果你平台不支持的,也就没有办法使用了。还有集成测试等等,在软件的介绍中有详细说明,不再详细说明。 对协议进行白合测试,我想对你的要求就是:熟悉相关的协议,否则白扯;熟悉开发的语言,否则免谈。
--------------------------------------------
1 计算机工业的分类
以往我们按照计算机的体系结构、运算速度、结构规模、适用领域,将其分为 大型计算机、中型机、小型机和微计算机,并以此来组织学科和产业分工,这 种分类沿袭了约40年。近10年来随着计算机技术的迅速发展,实际情况产生了 根本性的变化,例如70年代末定义的微计算机演变出来的个人计算机(PC),如
今已经占据了全球计算机工业的90%市场,其处理速度也超过了当年大、中型计 算机的定义。随着计算机技术和产品对其它行业的广泛渗透,以应用为中心的 分类方法变得更为切合实际,也就是按计算机的嵌入式应用和非嵌入式应用将 其分为嵌入式计算机和通用计算机。 通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面目出 现并应用在社会的各个方面,其典型产品为PC;而嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统中。
2 嵌入式系统(Embedded Systems)
嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、 适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部 设备中就包含了5-10个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示卡、显 示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB集线器等均是由嵌 入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、 航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。
‘陆’ 软件可靠性测试的主要目的有哪些
可靠性测试应用
1. 用户权限限制。软件是否按功能模块划分用户权限,权限划
分是否合理,考察超级用户对各个用户的权限管理是否合理,
包括修改用户的登录资料等。
2. 用户和密码封闭性。软件对用户名和密码有无校验,有无保
护措施,尤其对密码有无屏蔽功能。
3. 系统对用户错误登录的次数限制。软件对用户错误登录有无
次数限制,一般做法是连续三次登录失败就退出系统。
4. 留痕功能。软件是否提供操作日志,比如某用户登录的时间,
查询、修改或删除的动作以及离开的时间等。
5. 屏蔽用户操作错误。考察对用户常见的误操作的提示和屏蔽
情况,例如可否有效避免日期的录入错误或写入无效的日期。
6. 错误提示的准确性。当用户操作错误时,能否有准确清晰的
提示,使用户知道造成错误的原因。例如当用户未输入完有
效信息时存盘,系统应当给出关于未输入项的提示。
7. 错误是否导致系统异常退出。考察软件运行的稳定性,当软
件发生一般错误或严重错误时,软件是否会自动退出。
8. 数据备份与恢复手段。主要针对有数据存储需要的软件,有
的软件依靠数据库操作系统本身的备份与恢复机制,这需要
用户具备一定的操作知识;好的软件会提供备份与恢复的操
作,不需要用户直接对数据库系统进行操作。
9. 输入数据有效性检查。当用户输入的数据有错时,软件应能
判断数据的有效性,避免无效数据的生成。
10. 异常情况的影响。在程序运行过程中进行掉电等试验,考查
数据和系统的受影响程度;若受损,是否提供补救工具,补
救的情况如何。
11. 网络故障对系统的影响。当网络中断连接时,是否会造成数
据的丢失。
‘柒’ 软件可靠性测试,可用性测试的定义,有什么区别
软件可靠性测试是指:为了评估软件在规定的寿命期间内,在预期的使用、运输或储存等所有环境下,保持软件功能可靠性而进行的测试。
软件可用性测试是指:是对软件“可用性”进行评估,检验其是否达到可用性标准。目前的可用性评估方法超过20种,按照参与可用性评估的人员划分,可以分为专家评估和用户评估;按照评估所处于的软件开发阶段,可以将可用性评估划分为形成性评估和总结性评估。形成性评估是指在软件开发或改进过程中,请用户对产品或原型进行测试,通过测试后收集的数据来改进产品或设计直至达到所要求的可用性目标。形成性评估的目标是发现尽可能多的可用性问题,通过修复可用性问题实现软件可用性的提高,总结性评估的目的是横向评估多个版本或者多个产品,输出评估数据进行对比。