(通信与信息系统专业论文)iden系统信令层单元测试的研究和实现.pdf_第1页
(通信与信息系统专业论文)iden系统信令层单元测试的研究和实现.pdf_第2页
(通信与信息系统专业论文)iden系统信令层单元测试的研究和实现.pdf_第3页
(通信与信息系统专业论文)iden系统信令层单元测试的研究和实现.pdf_第4页
(通信与信息系统专业论文)iden系统信令层单元测试的研究和实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(通信与信息系统专业论文)iden系统信令层单元测试的研究和实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京邮电大学硕士研究生学位论文 摘要 摘要 在i d e n 手机的开发过程中,信令层的单元测试是非常重要的一个环节,而如何高效 准确地开发出符合要求的测试用例又是整个测试过程的关键。对于i d e n 信令层来说,在 现有的测试环境中,测试用例的开发工作集中在如何构造发送到m s 的l a y e r 3 消息上。 这些消息结构定义的层次复杂,构成消息的字段类型繁多、长度不一,相同字段取值相近, 含义却大不相同,有些关键字段的取值正确与否直接决定测试用例的成败,如果这些问题 都需要由开发人员独立手动解决,必然会降低测试用例的开发效率和准确性。 本论文中介绍的自动测试用例生成工具p l u t o 就是基于以上问题的考虑。p l u t o 以图形 界面的形式,提供给用户来显示、展开消息的层次结构,用户在编辑框或下拉框中直接编 辑消息字段的值,而且p l u t o 对用户的编辑进行合法性检查,准确无误后,由p l u t o 自动 生成测试用例。p l u t o 结合了消息字段显示、编辑和用例生成的过程,让测试用例的开发不 再依赖对源代码的理解,解决了上面所提出的问题,减少了开发人员的重复性工作,简化 了用例的开发过程,大大提高了用例开发的效率。 本文以p l u t o 的开发为重点,还介绍了i d e n 系统构成,i d e n 信令层单元测试的原 理、测试环境、测试用例的开发过程,在论文的最后,结合具体的r l c h a n d o v e r 测试开 发过程,讨论了p l u t o 在开发中的实际应用。 南京邮电大学硕士研究生学位论文 a b s t r a c t a m o n gt h ed e v e l o p m e n tp r o c e s so fi d e np h o n e ,t h eu tf o rs i g n a l i n gl a y e ri sa l li m p o r t a n t s t e p ,w h i l et h ek e ys t e pt ot h eu ti st h a th o wt od e v e l o pt h ed e s i r a b l et e s t c a s ee f f i c i e n t l ya n d e x a c t l y f o rt h ei d e ns i g n a l i n gt e s ta n dw i t h i nt h ee x i s t i n gt e s te n v i r o n m e n t ,t h ed e v e l o p m e n t o fu tc a s ef o c u so nh o wt oc o n s t r u c tt h el a y e r 3m e s s a g e sd e s t i n e dt om s h o w e v e r , l a y e r 3 m e s s a g ei st y p i c a lo fc o m p l e xh i e r a r c h i c a ls t r u c t u r ed e f i n i t i o n sa n dt h em e s s a g ee l e m e n t sv a r yi n t y p ea n dl e n g t h ,a n de v e nt h ec l o s ev a l u ef o rt h es a m ee l e m e n th a v ed i s t i n c tm e a n i n g s u s u a l l y , t h et e s tr e s u l ti ss e n s i t i v et os o m ek e ye l e m e n tv a l u e s o ,t h ep r o b l e mt h a th o wt ol o c a t et h e e x p e c t e de l e m e n ta n dd e s i g n a t ear i g h tv a l u ec o m e su pt ot h ed e v e l o p e r s i nc o n s i d e r a t i o no ft h ep r o b l e m ,t h i sp a p e rg i v e so u tat e s ts c r i p ta u t og e n e r a t o r , p l u t o ,i n w h i c hm e s s a g es t r u c t u r et r e ei sd i s p l a y e do ng u ia n du s e rc a nd i r e c t l ye d i tt h em e s s a g ev a l u ei n t h ec o r r e s p o n d i n ge d i t o ro rc o m b ob o xa n dt h eu s e r si n p u ti sv e r i f i e df o rt h ef i n a l s c r i p t g e n e r a t i n g p l u t oi n t e g r a t e sm e s s a g es t r u c t u r ed i s p l a y , m e s s a g ee d i t i n ga n dt h es c r i p tg e n e r a t i n g a n dm a k et h et e s t c a s ed e v e l o p m e n ti n d e p e n d e n to fh o wd e v e l o p e ru n d e r s t a n dt h em e s s a g e d e f i n i t i o n si nt h ec o r el a y e rs o u r c ec o d e ,w h i c hs i m p l i f yt h ed e v e l o p m e n to ft e s t c a s ef o r s i g n a l i n gl a y e ra n dp r o m o t ei t se f f i c i e n c y b e s i d et h ep l u t o ,t h ep a p e r sa l s oh a v ea ni n t r o d u c t i o nt oi d e ns y s t e mc o m p o n e n t s ,b a s i c p r i n c i p l e s o fu ti ns i g n a l i n gl a y e r , t e s te n v i r o n m e n ts e t u pa n dt h ep r o c e s so ft e s t c a s e d e v e l o p m e n t i nt h el a s tc h a p t e r , t h ei m p l e m e n t a t i o no fp l u t oi nt h er l c h a n d o v e ru ti s d i s c u s s e d 南京邮电大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其它人已经发表或撰写过的研究成果,也不包 含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名:墨丘j 翌五 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电大学研究生部办理。 研究生签名:j 逊导师签名: 坳 南京邮电大学 硕士学位论文摘要 学科、专业:工学通信与信息系统 研究方向:整动通信皇玉线撞盔 作者:2 0 0 4 级研究生张四五 指导教师:傅海阳 题目:i d e n 系统信令层单元测试的研究和实现 英文题目:t h er e s e a r c ha n di m p l e m e n t a t i o no fu tf o ri d e ns i g n a l i n g l a y e r 主题词:i d e n 信令层l a y e r 3 单元测试测试用例p l u t o k e y w o r d s :i d e n si g n a l i n gl a y e r l a y e r 3 u tt e s t c a s ep l u t o 南京邮电大学硕士研究生学位论文第一章i d e n 系统概述 1 1引言 第一章i d e n 系统概述 i d e n ( i n t e g r a t e dd i g i t a le n h a n c e dn e t w o r k ) 是m o t o r o l a 公司在上世纪九十年代初开 发的数字移动通信解决方案,它除了能提供传统的数字集群调度呼叫业务外,还能提供在 数字公用蜂窝移动通信系统中常见的话音业务,电路数据和分组数据业务以及一些增值业 务,如s m s ,v o i c em a i l 等等。 目前,i d e n 的全球用户数量在l000 万左右,网络遍及亚洲和南北美洲,用户集 中在美国本土。i d e n 也是我国数字集群移动通信体制中推荐的两个标准之一,于1 9 9 6 在福建省建立第一个试验网,以后分别在深圳和上海实现了小规模的商用。 i d e n 系统几乎能提供g s m 中所有的服务,而其在调度和分组数据业务上很具特色。 调度业务中除了组呼外,还有下面这些i d e n 特色服务: p r i v a t ec a l l 一对一的半双工通话 c a l la l e r t 呼叫提醒功能 s d g c ( s e l e c t i v ed y n a m i cg r o u pc a l l ) 动态组呼,组的大小可变,用户可以临时加 入组,最多有2 1 个用户 m s t g ( m u l t i p l es i m u l t a n e o u st a l k g r o u p s ) 用户能够监听多个调度组,决定加入任 意组的通话过程 e m e r g e n c yg r o u pc a l l 供用户在紧急情况下用的组呼功能 i s o ( i s o l a t e ds i t eo p e r a t i o n ) 在基站失去同网络侧的通信时,此功能提供另一种组 呼方式 i d e n 能提供给用户的分组数据能力在1 3 k b p s ( 上下行) 左右,如果用户需要,可以申请 w i d e n 服务,最高可到5 0 k b p s ( 上下行) 的数据速率。 1 2 i d e n 系统主要参数 i d e n 系统的前身是模拟数字集群系统s m r ( s p e c i a lm o b i l er a d i o ) ,后随着数字通信 的兴起,特别是g s m 技术的兴盛,i d e n 在业务上结合了数字集群和g s m 这两项技术, 由此逐渐发展而来,它兼有这两种系统的技术特点,系统主要参数如下: 南京邮电大学硕士研究生学位论文 第一章i d e n 系统概述 双工方式:f d d ,支持半双工和全双工 多址方式:t d m a 工作频段: s t a n d a r d8 0 0 m h z e x t e n d e d8 0 0 m h z 9 0 0 m h z 1 5 g h z 收发频率间隔:以上频段时分别为4 5 m h z ,4 5 m h z ,3 9 m h z ,4 8 m h z 相邻频道间隔:1 2 5 k h z 或者2 5k h z 时隙划分:6 个t d m a 时隙,每时隙1 5 m s 调制方式:m 1 6q a m ( 分组数据时可以用6 4 q a m 或者q p s k ) 语音编码: 调度业务( 6 :l 交织) 4 2 k b p sv s e l p 4 4k b p sa m b e + + 普通话音业务 令4 2 k b p s ( 6 :l 交织时) 或者8 0 k b p sv s e l p ( 3 :1 交织时) 令4 4 k b p sa m b e + + ( s p l i t3 :1 交织时) 小区复用模式:1 2 小区( 全向小区) ,7x3 ( - - 扇区小区) 开环功率控制 其中s t a n d a r d8 0 0 m h z 的频率范围就是我国规定的用于数字集群通信的频段,而9 0 0 m h z 正是当前g s m 系统所用频段。 1 3i d e n 系统结构 i d e n 系统可以分为两大部分:互联子系统和调度子系统,互联子系统完全参照g s m 网络的体系结构,大体相同,除了对个别网络设备作了功能上的修改以适应调度业务的需 要。系统结构如下图1 1 所示 2 南京邮电大学硕士研究生学位论文 第一章i d e n 系统概述 e b t s :增强基站收发信机a c g :接入控制网关b r c 基站射频控制器 d a c s - d i g i t a la c c e s sc r o s sc o n n e c ts w i t c h 数字接入交叉连接交换 m p s :地铁分组交换m d g :移动数据网关d a p :调度应用处理机 a p d - 高级分组 复制器s m s s c :短消息中心 o m c r :射频运行维护中心 图l - 1i d e n 系统结构 1 e b t s :增强基站收发信机 除了需要负责一般b t s 需要完成的逻辑信道分配,建立下行射频链路,下行数据 的编码,定时,差错控制,以及形成数据帧,同步,链路射频信号测量等基本任 务外,还需要区分调度业务呼叫、互联呼叫、分组数据业务呼叫,选取不同的路 由,这是由e b t s 的a c g 部分完成的,一般e b t s 含两个a c g ,其中一个作为 应急备份。 2 a c g 接入控制网关 为不同业务选择路由和对2 5 k h z 基本射频链路的定时控制。 3 d a c s :数字接入交叉连接交换 e b t s 出来的多路6 4 k b p s 的d s 0 制式数据,经过d a c s 多路复用后,转化成e l t 1 的制式,送到m p s 或者b s c ,当然,d a c s 也需要完成e l t 1 到d s 0 的分接过 程,其主要任务有: 把从e b t s 过来的调度或者分组数据包转发给m p s 而互联业务或者控制信令数据路由到b s c 系统的o m c 数据传送到o m c r 3 南京邮电大学硕士研究生学位论文 第一章i d e n 系统概述 需要连接到i d e n 的一些外部传输实体也可以通过d a c s 接入i d e n 网络 4 m p s 地铁分组交换中心 在m p s 中交换的是帧中继数据包,调度语音数据、分组数据、调度控制信息都是 以帧中继的形式在各网络设备间传输的。m p s 主要负责维护e b t s 和d a p 间( 非 组呼调度时) 、e b t s 和m d g 间( 分组数据) 、e b t s 和a p d 间( 组呼调度时) 的 路由链路。 5 d a p 调度应用处理机 相当于互联子系统中的m s c 的位置,负责对调度和分组呼叫的协调和控制,它能 提供: 对调度和分组数据的控制功能。在上述呼叫建立和呼叫进行过程中,d a p 检 查m s 是否合法以及请求的服务是否有效,并提供给m p s 或者p d 通话双方 的位置和路由信息 用户丌机注册验证。m s 在开机时需要发i m s i 给d a p ,由d a p 去在d h l r 中检查i m s i 的合法性,接受或拒绝注册服务 维护和跟踪m s 最新的地址信息,为调度或分组数据业务提供路由 向o m c 提供系统告警和系统性能统计数据,为系统优化和计费做准备 维护调度业务用户的个人数据。d a p 可以从d h l r ( 对于c o n d i t i o n a l 调度呼 叫用户) 、i h l r ( 对于c o n d i t i o n a l 分组数据用户) 、d v l r ( 所有访问该v l r 的调度和分组用户) 这三个寄存器中获得用户的个人i d ( 只用于调度业务) 、 位置信息、鉴权参数。 6 a p d 高级分组复制器 顾名思义,它主要是在组呼时,完成主叫话音数据的复制,并通过m p s 把复制好 的话音数据分发给同组的其他m s 。另外,每半小时a p d 向o m c r 报告其状态 4 南京邮电大学硕士研究生学位论文 第一章i d e n 系统概述 和告警信息,o m c - r 根据这些来控制a p d 的运行。 7 o m c r 射频运行维护中心 故障管理 收集和保存网络设备的告警、故障等数据,以不同优先级报告出来 性能管理 收集和保存与系统性能相关的统计数据,如呼叫处理的种类、数量、持续时间、 呼叫质量等 配置管理 o m c r 保存各网络设备的软件版本,在需要向网络中增加设备或者系统软件 需要升级的时候,可由o m c r 来完成此工作。各设备的运行状态和系统配置 参数也可从o m c r 获得 8 m d g 移动数据网关 移动数据网关是i d e n 系统和外部i n t e m e t 网之间的接口设备,实现网间的路由、 交换。此外,m d g 还具有移动代理功能,完成家乡代理( 或者家乡m d g ) 和外 地代理间( 或者外地m d g ) 的i p 地址交换和路由转发。 图1 1 中的m s c ,b s c ,s m s s c ,这些部分与g s m 系统中对应部分的功能类似,在 这里就不详细描述。 1 4 信道划分 1 4 1 物理信道一时隙和帧结构 i d e n 系统把每个2 5 k h z 带宽分为6 个时隙,每个时隙持续1 5 m s ,3 0 2 4 0 个时隙构成一 帧,帧周期为7 5 3 6 秒,2 5 6 个帧还可以再构成一超帧。 5 南京邮电大学硕士研究生学位论文第一章i d e n 系统概述 e p = 0 ie p = 1 i e p = 2ie p = 3ie p = 4 li e p = 6 5 ,5 3 5 l 打a y p ) 、一、二二 f n = oif n = 1if n = 2i “f n = 3 l f n = 4 ii f n = 2 5 5 l _ 、 r a c i , i ( 随机接入信道) 上行,m s 通过r a c h 向基站发送随机接入请求。在i d e n 中把随机接入时隙分 为两个子时隙,加快随机接入的速度。 b c c h ( 广播控制信道) 下行,基站在b c c h 上广播系统信息和系统参数,比如其中的s y s t e mi n f o r m a t i o n t y p e l 是周期性的广播信息,包括小区的接入参数、地址位置信息、当地时间、 相邻小区列表等。m s 在进入新的小区或者小区的b c c h 信息有更新( 或者说 b c c h 版本更新) 时,需要从b c c h 重新读取这些小区参数,一次完整的读取过 程大约需要4 s 的时间。 c c c f i ( 公共控制信道) 下行,基站在c c c h 上给m s 发送服务请求接受和寻呼消息。m s 在空闲时监听 特定的寻呼子信道,这个特定的子信道由m s 根据i m s i 等参数计算出来。 3 s c c h ( 辅助公共控制信道) 和p c c h 类似,除了没有b c c h 信道外。对于小区来说,s c c h 是可选的,只是 在小区用户数量大,单个p c c h 信道不足以传输所有的公共控制信息时,才需要 配置s c c h 。在i d e n 中,小区最多可有4 个s c c h 4 d c c h ( 专用控制信道) 双向,有些控制消息是不需要在p c c h 上广播的,这时需要建立d c c h 来传送诸 如注册、位置更新、鉴权等信息,s m s 也可在d c c h 上传送 5 t c c h ( 临时控制信道) 双向,下行主要是发送相邻小区列表等系统消息。上行时,是作为临时分配的随 机接入信道,供组呼或者正在切换的m s 使用,它占用t c h 或者d c c h 的物理信 道资源。 6 a c c h ( 辅助控制信道) 7 南京邮电大学硕士研究生学位论文 第一章i d e n 系统概述 双向,下行时发送信号测量查询消息( m e 龇e m e mi n q u i r i e s ) 、切换命令( h a n d o v e r c o m m a n d ) 、说话者身份( t a l k e ri d ) 、s d g c 成员列表( s d g cp a r t i c i p a n t sl i s t s ) ,在 上行时主要发送测量报告( m e a s u r e m e n tr e p o r t ) ,它的信道带宽是动态地从t c h 信 道获得。s m s 也可在a c c h 上传送。 7 t c h ( 业务信道) 双向,传送语音或者数据业务。有两种t c h : m u l t i p l e - u s e rt c h 在组呼时,把t c h 分配给一组t c h ,在同一时段内,组中只有一个用户可在此 t c h 上发送数据( 讲话) ,其他用户在此t c h 上接受数据( 接听) 。 s i n g l e - u s e rt c h 这种t c h 常见在互连呼叫或这传真呼叫等通话中,直到呼叫结束,才释放t c h 信道资源。 8 p c h ( 分组信道) p b c h ( 分组广播信道) 下行,传输与分组业务有关的系统参数、来自l a y e r 3 的控制信息和s y s t e m i n f o r m a t i o nt y p e 6 p r c h ( 分组随机接入信道) 上行,发送p d c h 信道请求 p d c h ( 分组数据信道) 双向,传输用户分组数据 下面简单举个逻辑信道组合的例子: 一 b c c h + c c c h + r a c h + s i c h ( 也可称之为p c c h ) 一c c c h + r a c h + s i c h ( 称之为s c c h ) t c c h + r a c h + s i c h t c h + a c c h + s i c h d c c h + s i c h p c h + s i c h 1 5 无线接口信令 i d e n 系统无线接口信令的o s i 参考模型实现如图1 3 所示,主要给出了数据链路和 8 南京邮电大学硕士研究生学位论文 第一章i d e n 系统概述 网络层的层次结构关系,物理层和层三以上不是本文所讨论的范围。d a t al i n k 中的m a c 层逻辑信道在前一节已作过详细介绍。 翳,。锄”? 7 “* x 够 逖鉴盥 貉益。笾迸镌巍l 叠丝 d a t al i n k ( 2 ) l o q i c a ll i n kc o n t r o l 鼍雾渤 强鼍彬o 横垆i 鼽。嘞锄斑“,譬毽+ r t 一m l 3c o n t r o l 隧,赢厶z 锄! 磊么。& 歉么j 苏。么巍么:磊搋:。二么 s i plr a p l a c p 删d a t a ,a 燃c 叭m 懈c ,i s l c hl 黜删d c c h 掣t c h 图1 - 3i d e n 信令系统的o s i 实现 1 5 1 逻辑链路控制( l l c ) l l c 为l 3 提供可靠链路控制功能,有c r c ,f e c ,s c r a m b l i n g 等容错过程,其主要 链路协议有: 1 s i p ( s l o ti n f o r m a t i o np r o t o c 0 1 ) 在下行的时隙中插入s d b 的内容,完成逻辑信道的分配 2 r a p ( r a n d o m a c c e s sp r o c e d u r e ) 在r a c h 或者t c c h 上传输固定长度( 上下行都是“个字节) 的随机接入控制信息, 面向无连接,提供不可靠的传输能力。m s 注册时,s y s t e mi n f o r m a t i o nt y p e 0 和s y s t e m i n f o r m a t i o nt y p e l 就是通过r a p 送到m s 的 3 a c p ( a s s o c i a t e dc o n t r o lp r o c e d u r e ) 和r a p 对应,提供面向连接、可靠的传输能力,支持大p t u 的分片,同时它也支持 不可靠的连接方式,这种情况主要用在m s 向b s 发送信道质量报告( m e a s u r e m e n t r e p o a ) 消息中 4 v c p ( v o i c ec o n t r o lp r o c e d u r e ) 传输语音数据,帧大小也是固定,提供不可靠传输,上下行相同 5 d c p ( d a t ac h a n n e lp r o c e d u r e ) 向r l p 帧插入f e c ,提供点到点的不可靠传输 6 d p p ( d a t ap a c k e tp r o c e d u r e ) 提供面向连接的可靠的分组数据传输能力,为上层的u s e rd a t as t a c k 提供服务 9 一 a 南京邮电大学硕士研究生学位论文第一章i d e n 系统概述 1 5 2l 3c o n t r o l 路由功能是由b s c 、m s c 、d a p 等网络设备完成的,这里l 3c o n t r o l 包括r r ( r a d i o r e s o u r c e ) ,m m ( m o b i l i t ym a n a g e m e n t ) ,c m ( c a l lm a n a g e m e n t ) ,如图1 3 所示: c o n n e c t i o n m a n a g e m e n t m o b i l i t y m a n g e m e n t r a d i o r c s o u r c , e m a n a g e m e n t 图1 3 l a y e r3 的层次结构 r a d i or e s o u r c em a n a g e m e n t r r 在公共信道上的信令过程有:寻呼、随机接入、d c c h 的分配、系统信息广播,在d c c h 信道上的信令过程有:信道分配和释放、无线链路测量、 切换等 m o b i l i t ym a n a g e m e n t m m 提供的控制功能有t m s i 重行分配、用户鉴权、位置登记等 c o n n e c t i o nm a n a g e m e n t c m 包括几个独立的协议实体:c c 、s s 、s m s 、d c c ,其中的 d c c 负责调度呼叫的建立、维护和释放 1 6 本章小结 这一章简单介绍了i d e n 系统的服务内容、网络结构、系统参数,详细讲述了信道划 分和无线接口各层的信令功能,突出i d e n 系统与当前g s m 系统由于调度业务而形成的 在以上各个方面的差异,为后续章节提供了一些关于i d e n 系统的基本概念和基本认识。 1 0 南京邮电大学硕士研究生学位论文第二章无线接口l a y e r 3 单元铡试 第二章无线接口l a y e r3 单元测试 单元测试的目的就是验证模块的功能是否和期望一致,及早的发现被测试模块中的功 能性错误和逻辑结构上的错误。模块可以小到一个类、一个函数,也可以是具有上千行代 码量的软件功能实体。本章结合i d e ns a m b ap h o n e 在l a y e r 3 的单元测试过程,着重介 绍s a m b ap h o n e 测试环境的搭建和测试方法以及测试用例的开发。 2 1 单元测试的概念 单元测试是相对于集成测试而言的。集成测试是将模块组装起来同时进行测试,发现 的问题大多与模块接口有关,如字节序( e n d i a n ) 造成的接收错误,误差累积造成的错误, 全程数据结构造成的错误等等;单元测试对象功能相对单一,逻辑简单,可以根据模块的 逻辑结构和程序流程来设计测试用例( 即白盒测试) ,再辅之以功能测试( 即黑盒测试) , 达到测试的完整性。图2 - 1 给出了这两种测试类型在测试模型v 中的位置。 需求分析 概要设计 i 详细设计 验收测试 产 系统测试 产 集成测试 夕 编码单元测试 夕 图2 - 1v 模型示意图 单元测试和开发人员联系最紧密。为保证开发的每个函数、类、模块的正确性和稳定 性,几乎都要开发相应的单元测试用例,一般说来,单元测试的测试计划或者测试用例由 开发人员编写,提交代码时,应要求将测试用例同时提交给测试人员。像w i n d o w sx p 的 开发过程,人们称之为t d d ,也就是所谓的测试驱动开发,是先完成测试用例的开发,再 进行具体的开发过程。测试的基本过程如图2 2 所示: 图2 - 2 测试的基本过程 i l 南京邮电大学硕士研究生学位论文第二章无线接口l a y e r 3 单元测试 测试需求分析是从软件概要设计说明和详细的规格说明出发,结合软件需求分析,定 制合理测试计划书。测试用例的好坏直接决定了整个测试的质量,而测试用例中最关键的 是输入数据的设计,好的数据可以让软件测试达到事半功倍的效果,一般来说,需要考虑 的是具有代表性的典型数据和在边界条件上的数据。在执行测试阶段,搭建合适的测试环 境是测试的首要工作,根据本次测试的输入输出方式特点,准备好需要的软硬件环境。最 后,对测试结果进行分析,写入符合规范的测试报告。 2 2s a m b ap h o n e 内部模块介绍 s a m b a 是m o t o r o l a 下一代i d e n 手机的名字,它是一款真正的双核手机,整个手机的 结构可大体分为两个部分:a p ( 应用处理) 和b p ( 基带处理) 。在b p 部分使用s t a r c o r e 的s c l 4 0v 3 的内核,而其应用处理器核心是a m r l l 处理器,这样,基带部分不再需要 负责和外部设备的连接互通以及和用户的交互过程,这些都移到了a p 部分,a p 也由于采 用了o p e nl i n u x 的操作系统,增强了系统的应用处理能力和对第三方应用软件的兼容能 力,图2 3 给出了内部功能模块的划分。 a r m l1 i d e na p p l i c a t i o n s i d e ns u p p o r t l i n u xs i p c j s t a r c o r e r g a s s i p c c o r el a y e r ( s i g n a l i n g ) i d e nv r i s l a y e r1 图2 3i d e n 手机内部功能模块 首先,在a p 部分,l i n u x 模块包括l i n u xk e r n e l 和一些额外的z e u s 开发平台驱动模 1 2 妻室墅皇奎兰堡主望塑竺兰垡堕茎蔓三里重垡堡! 兰型! 璺望歪塑苎 块,多媒体编解码模块也包括在其中。i d e ns u p p o r tl a y e r 包含的模块比较多,功能也比 较杂,概括起来就是向i d e na p p l i c a t i o n s 提供i d e n 网络接口服务,也包括向b p 提供的 日志服务功能。i d e n a p p l i c a t i o n s 常见的有j a v a 应用,浏览器,e m a i l ,多媒体应用,游 戏软件等等。 在b p 这一侧,l a y e r1 处于无线接口的物理层,直接跟d s p 、g p s 、r ft r a n s c e i v e r 、 v o i c ee n d e c o d e r 等硬件设备打交道,也就是说它是整个p h o n e 的调制解调器。i d e nv r i s 为 上层提供l a y e rl 层的a p i ,g p s 、c o d e p l u g 、s i mm a n a g e m e n t 、出厂测试( b e r b u gf a c t o r y t e s t ) 功能也是在这一层实现的。c o r el a y e r 也就是信令层,完成r r 、m m 、c m 管理功 能,处于中间层位置,需要和上下的层次交互,这种交互可以是t a s k s 间发消息,也可以 是直接调用相应层中的接口a p i ,该层是本论文讨论的重点范围,后面单元测试也是针对 该层的测试。g a s ( g s m a ts e r v i c e ) 层的存在是由于向后兼容的要求,大部分功能都已经 转移到a p 去了。 a p 和b p 之问的通信是由s i p c ( s m a r ti p c ) 协议栈完成的。s i p c 在i d e np h o n e 中物 理层是通过共享内存技术( s h a r em e m o r y ) 实现的,省去了原i p c ( i n t e rp r o c e s s o r c o m m u n i c a t i o n ) 方式中的复制操作,这样减少了c p u 开销和内存开销,大大提高了通信 效率。s i p c 还有个显著的优势就是,不论通信各方的物理层实现,是s h a r em e m o r y 也好, 还是普通的串口线或者u s b 连接,还是r j 4 5 接口网线,甚至是在程序的线程之间,都能 进行建立通信。s i p c 提供的接口和普通的t c p i p 中的s o c k e t 接口非常类似,两者编程模 式也非常接近,这为程序员提供了方便。s i p c 能够提供两种s o c k e t ,一种是面向连接 ( c o n n e c t i o no r i e n t e d ,简称为c o ) ,和t c p 连接类似,提供一对一的通信,另外一种是面 向无连接的s o c k e t ( c o n n e c t i o n l e s s ,简称为c l ) ,用于多播和广播,这两种在s a m b ap h o n e 中都有应用。 南京邮电大学硕士研究生学位论文 第二章无线接口l a y e r 3 单元测试 创建套节字 建立连接 通信 关闭套节字 1 l 关闭 服务器 接受连接请求连接请求 图2 4 s i p cc o 套节字的一般通信过程 s i p c 中用到的地址结构i p c s o c ka d d r 定义如下: i p c s o c k a d d r s t m c ti p c s o c k a d d r u n s i g n e ds h o r ti p c _ s e r v i c e ; u n s i g n e dl o n gi p c _ n o d e ; i p c _ s e r v i c e 指定服务类型,不同的服务,使用不同的s e r v i c ei d i p c _ n o d e 指定该服务所在的节点i d 2 3l a y e r3 测试方法 根据上一节中介绍的i d e np h o n e 的功能模块框图,可见c o r el a y e r ,主要是l a y e r3 层,是处于中间层,要对它进行单元测试,必须保证上下及所有与之交互的各层次的正确 1 4 南京邮电大学硕士研究生学位论文第二章无线接口l a y e r 3 单元测试 性,这在开发过程中可以通过仿真技术实现,它的基本思想就是要什么,给什么的原则。 对于l a y e r3 信令层测试,即在设计测试用例时,假设发给l a y e r3 的消息在内容和时序 上都是正确,这样就屏蔽了其他各层中可能隐藏的错误对l a y e r3 的影响,在i d e n p h o n e 的单元测试中,完成此功能的是c o r es i m u l a t o r 模块。除这些消息之外,还有些必需的静 态数据,比如一些手机在注册网络是用到的频谱列表,放在c o d e p l u g 或者c s d ( c u s t o m e r s t a t i cd a t a ,在这里可以把它们理解成小型文件系统) 之中,s i m 卡所需提供的数据等等, 这些数据在单元测试之前也必须准备好。 从上面的讨论我们知道,l a y e r3 的单元测试的测试驱动应该就是发给l a y e r3 的各种 消息。在协议的实际软件实现中,l a y e r 3 的各层次都对应着同名的t a s k ,通常说的r rt a s k 其实就是r r 层的协议实现,在运行时和进程类似,有自己的内存空间和消息队列,消息 循环不断的从队列中取消息,然后作相应的处理,或者转发给别的t a s k ,接受或发送消息 的同时,r r 的状态也随着发生改变,所以,也可把r r t a s k 看成一状态机。i d e np h o n e 还 有其它的一些t a s k ,比如d s c ,它负责翻译a t 命令,常见的还有r c s ,g a s 等。测试用 例代码开发就是要找出需要那些消息来完成一次信令过程,并把这些消息按合理次序从上 而下排列,指明它的目的地,也就是发往哪个t a s k ,这样就完成了一个测试用例的开发, 一条可能的消息如下: 7 50 2 9 3 4 3 2 3 0 f 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 数字7 5 表示i d e n 中r rt a s k 的i d ,后面紧跟一个空格作为分割符号,和消息内容 部分分开。 2 3 1 单元测试的环境 s a m b a 的开发工作是在原l e g a c yp h o n e 的基础上进行的,这决定了该c o r el a y e r 层的 协议开发特点,测试的工作量是所有开发环节中比较大的,有时候代码的改动会很小,但 测试所占的时间会很多。在这些代码改动量小的地方,针对该层的单元测试,就是时间效 率最高的测试方式。 s a m b a 的开发和其他大多的p h o n e 的开发一样,硬件的开发几乎和软件的开发调试并 行展开,正常情况下,在单元测试阶段,是没有真正的手机给测试人员使用的,这样,单 元测试的测试环境可大体分为两种,初期在开发板上的测试和后期在手机上的测试,后一 种,多用在维护阶段的回归测试上,也可用在开发过程中,验证c o r el a y e r 运行在真正手 机环境和在开发板上的不同。下面介绍s a m b a 测试中用到的c o d ew a r r i o ri d e 仿真环境。 1 5 南京邮电大学硕士研究生学位论文第二章无线接口l a y e r 3 单元测试 c o d e w a r f i o r 是f r e e s c a l es e m i c o n d u c t o r 系列i d e 产品,针对的不同的硬件平台,有 不同的版本,这里用的是c o d e w a r r i o rd e v e l o p m e n ts t u d i of o rs t a r c o r ea n ds c d m a 版本, 它提供了s c l 4 0d s p 的仿真环境,所以可以在缺少实际硬件( 主要是指b p 部分) 的情况 下,对l a y e r3 进行单元测试。c o d e w a r r i o r 的d e b u g 功能也是非常强大的,基本的 d o w n l o a d 和s t e pb ys t e p 跟踪调试,还有e o n c e 、d p uc o u n t e r 、n e x u st r a c i n g 等等高 级调试功能。板上测试环境各模块的连接关系如图2 5 所示: t e s te n v i r o n m e n tt e s td r i v e r 图2 - 5c p l d p l 的测试机制 图中的i c r a n e 是运行在p c 机上的日志工具,可以通过串口或者普通s o c k e t 与外部 发生交互。t c la g e n t 负责c p l & d p l 和i c r a n e 间消息的转发工作,通过普通s o c k e t 和 两边进行通信。i c r a n et a s k 是c p l d p l 中加入的提供日志功能的模块,负责把测试用例 中的消息发给指定的t a s k ,而且能够把各个t a s k 间的交互消息保存下来,放在缓存中, 在其他t a s k 都空闲的时候再送回给i c r a n e 工具。具体的消息传递步骤有: 1 ) 启动t c la g e n t 的s o c k e ts e r v e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论