软件测试
软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要
编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。
执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
软件测试概念
使用人工或者自动手段来运行或测试某个系统的过程 ,其目的在于检验它是否满足规
定的需求或弄清预期结果与实际结果之间的差别 .
它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正
确度(correctness) 、完全度(completeness)和质量(quality)的软件过程;是 SQA(software
quality assurance)的重要子域。
软件测试的内容
软件测试主要工作内容是验证(verification)和确认(validation ),下面分别给出其
概念:
验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证
软件做了你所期望的事情。(Do the right thing)
1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;
2.程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程;
3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等
是否和规定的需求相一致进行判断和提出报告。
确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中
软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)
1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正
确性;
2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在
问题。
一般测试流程:
1.需求分析阶段:主要就是对业务的学习,分析需求点。
2.测试计划阶段:测试组长就要根据 SOW 开始编写《测试计划》,其中包括人员,软件硬
件资源,测试点,集成顺序,进度安排和风险识别等内容。
3.测试设计阶段:测试方案一般由对需求很熟的高资深的测试工程师设计,测试方案要求根
据《SRS》上的每个需求点设计出包括需求点简介,测试思路和详细测试方法三部分的方案。
《测试方案》编写完成后也需要进行评审。
4.测试方案阶段:主要是对测试用例和规程的设计。测试用例是根据《测试方案》来编写的,
通过《测试方案》阶段,测试人员对整个系统需求有了详细的理解。这时开始编写用例才能
保证用例的可执行和对需求的覆盖。测试用例需要包括测试项,用例级别,预置条件,操作
步骤和预期结果。其中操作步骤和预期结果需要编写详细和明确。测试用例应该覆盖测试方
案,而测试方案又覆盖了测试需求点,这样才能保证客户需求不遗漏。同样,测试用例也需
要评审。
5.测试执行阶段:执行测试用例,及时提交有质量的 Bug 和测试日报,测试报告
等相关文档。
软件测试的分类
从是否关心软件内部结构和具体实现的角度划分
A.白盒测试
B.黑盒测试
C.灰盒测试
从是否执行程序的角度
A.静态测试
B.动态测试。
从软件开发的过程按阶段划分有
A.单元测试
B.集成测试
C.确认测试
D.系统测试
E.验收测试
软件生存周期
软件生存周期(SDLC,软件生命周期)是软件的产生直到报废的生命周期,周期内有问题定
义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃
等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,
每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着
新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少
软件计划与可行性研究(问题定义、可行性研究)
需求分析
软件设计(概要设计和详细设计)
编码
软件测试
运行与维护
手机平台
一种是基频(硬件平台)来划分,另一种是按操作系统(软件平台)来划分。
我们通常所说的手机操作平台实际是指软件平台,也就是手机的操作系统。
现在主要的手机基频厂家有德州仪器、爱立信移动平台、高通、联发科、NXP、
飞思卡尔、英飞凌、博通、展讯。
目前使用最广泛的手机平台主要有: Symbian、Research In Motion、iPhone OS、Android、
Microsoft Windows Mobile、Linux
根 据 IDC 和 Gartner 的 2010 年 的 数 据 显 示 , 移 动 操 作 系 统 排 行 如 下 图
Symbian OS(中文译音“塞班系统”)由诺基亚、索尼爱立信、摩托罗拉、西门子等几家大
型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。现已被 NOKIA
全额收购。
目前根据人机界面的不同,Symbian 体系的 UI(User Interface 用户界面)平台
分为 Series 60、Series 80、Series 90、UIQ 等。Series60 主要是给数字键盘手机用,
Series 80 是为完整键盘所设计,Series 90 则是为触控笔方式而设计。另外一个重要
的平台是由 Symbian 百分之百转投资的 UIQ Technology 所开发出来的 UIQ。
Series 60 : 支持多种分辨率 ,机型如:5320xm,6122c, 6220c,N95......
基本定位于单手操纵设备,至今为止 ,分为第一版第二版和第三版还有最新的第
五版 ,第五版为触屏版本 ,包括诺基亚 E77,N97,5800XM,5800i5802XM,5530XM,
三星 i8910,第三版还分为预 FP1(MR),FP1,FP2,支持 176X208, 240x320、352x416 分辨
率,五方向键,两个功能键。使用 Symbian OS Preal 平台。里面的菜单呈九宫格或
十二宫格方式排列。支持 MIDP JAVA 和使用 C++编写的 .SIS 扩展程序包。不失小巧
体积的强力手机系列。代表机器有 6681/7610/N73/N80/N95,同时这个系统和 UI Style
也授权给了一些其他手机厂商比如西门子、三星、松下等。
Series 80 :
NOKIA 把这个系列的机器叫做 Communicator,在型号上只有一个系就是 9 系。
使用的是 Symbian OS Crystal 平台。它代表了 NOKIA 最强的技术,每代都是当时 NO
KIA 所有最高级技术的集合体。最大特点就是像个铅笔盒(或者说遥控器……),外
部有一个标准的手机操作界面,里面横向打开后有一个 640X200 的大屏幕,有四个功
能键、N 个快捷键和一个完整的 QWERTY 键盘。净重通常都在 200 克上下,但是功
能强大。可以说是最棒的商务用手机了。NOKIA 自己的高层基本都用这玩意儿。典
型代表有 9110/9210/9300/9500 (抛掉 9000 和 9210C/9290 这些过渡品不说,这个系
就只出了这几款)。
Series 90 :
使用 640X320 的大屏幕,除了很少的几个功能 /方向键以外完全是触摸屏控
制。典型代表有 7710
Research In Motion blackberry 黑莓
iPhone OS 是由苹果公司为 iPhone 开发的操作系统。它主要是给 iPhone 和 iPod touch
使用。就像其基于的 Mac OS X 操作系统一样,它也是以 Darwin 为基础的。iPhone OS 的
系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services
layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大
概 512MB 的存储空间。
Windows Mobile,是 Microsoft 用于 Pocket PC 和 Smartphone 的软件平台。Windows
Mobile 将熟悉的 Windows 桌面扩展到了个人设备中。Windows Mobile 是微软为手持设备
推出的“移动版 Windows”,使用 Windows Mobile 操作系统的设备主要有 PPC 手机、PDA、
随身音乐播放器等。Windows Mobile 操作系统有三种,分别是 Windows Mobile Standard、
Windows Mobile Professional,Windows Mobile Classic。目前常用版本 Windows Mobile 6
.1,最新的版本是 。
Linux 是一类 Unix 计算机操作系统的统称。Linux 操作系统的内核的名字也是“Linux”。
Linux 操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux 这个词
本身只表示 Linux 内核,但在实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核,
并且使用 GNU 工程各种工具和数据库的操作系统。Linux 得名于计算机业余爱好者 Linus T
orvalds。
手机软件格式
手机软件格式,顾名思义就是手机软件的格式。目前主要有:摩托罗拉、诺基亚、索尼
爱立信的非智能手机支持的 JAR(JAVA 平台)、摩托罗拉的 mpkg(LINUX 系统)、诺基
亚的 sisx(S60 系统)、摩托罗拉和 HTC 支持的 Android 系统的 APK 格式、mrp(包括国
产的贴牌、杂牌、品牌,已经数量极其庞大的其它山寨机都带有这个平台)。
目前主要有:JAR(JAVA 平台)、JAD(JAVA 平台)、sis(S60V1-V2 UIQ 平
台)、sisx(S60V3 平台)、cab(windows mobile 平台)、mpkg(OS X package 苹果
操作平台)、MRP(高通 Brew 平台、TI、MTK、LINUX 等平台)、nes(手机模拟器
游戏的格式 ,有些国产游戏手机会用)等……
MTK 斯凯平台
mrp
MRP 格式,是一种轻量级的虚拟平台 MINIJ 平台格式文件,用标准的 ANSI
C 编写,文件大小大约只有 JAVA 的 1/6.目前 MRP 的应用范围还是比较广的,已经
开发出许多的软件和游戏,具有很大的发展潜力。国内普遍的手机(包括国产的贴牌、
杂牌、品牌,已经数量极其庞大的其它山寨机都带有这个平台)。
Symbian 系统
sis
所谓 sis 软件是指后缀名为 sis 的专门为 Symbian 操作系统的 Series 60 系列平台
(s60)以及以上版本的智能手机开发的安装包软件。
sisx
塞班 用了新的安全内核和编译程序,和第一二版完全不兼容了,修改
也很麻烦,要重新编写程序,所以为了和以前区别,(含更高级版本)就用 sisx 作
为新的格式。
Windows Mobile 系统
cab
是微软制订的压缩包格式 ,多用于 WM 平台的的智能手机 ,下载后执行该 CAB 文
件即可进行安装使用了 .
exe
WINDOWS 操作系统中的二进制可执行文件 ,可在操作系统存储空间中浮动
定位的可执行程序。MS-DOS 和 MS-WINDOWS 下,此类文件扩展名为 .exe
Linux 系统
gz/tgz/tar/
Linux 系统下的压缩格式 ,Linux 系统很多的源码包都用这个格式打包。
mpkg
是摩托 LINUX 系统手机支持的一种软件 ,是在摩托 Linux 下的一种软件包,在摩
托 Linux 的手机上都可以安装,且其功能十分强大。不过由于 Linux 版本的区别 ,并不
能通用于所有手机 ,必需严格按照机型匹配安装。
pkg
是新版 Linux 触摸屏支持的格式 ,新版本身是支持 MPKG 的 ,不过前提是要通过
MOTO 的认证 .所以把第三方软件把 MPKG 改成了 PKG
iPhone OS 系统
pxl
PXL 是 iphone 的一种安装文件格式 ,你可以下载 pc suit 来安装第三方软件
JAVA 平台
jar
常见的软件格式 ,适用于 JAVA 手机 .对机型的要求比较严格 ,如果错误的下载会
出现格式损坏 ,无法运行等现象。
jad
适用于 JAVA 手机 .jad 是 jar 的描述文件 .jad 描述了 jar 的文件大小和安装路径 .
可以先下载 jad,了解一些基本信息后 ,再决定是否下载 jar 文件。
以上两种格式其实适用于绝大多数手机。因为 JAVA 平台并非智能手机平台,
智能手机均可以通过软件扩展实现对这一格式的支持。