硬件产品怎么快速验证有木有如何满足市场需求求

    根据国家统计局的分类标准软件和信息技术服务业分为软件产品开发、信息系统集成服务、信息技术咨询服务、数据处理和存储服务、集成电路设计和数字内容服务 6 个夶类。应用软件产品可以分为多媒体类软件、跨端数据管理类软件、数字文档类软件、网络工具类软件、安全类软件、游戏类软件、网络通讯类软件等 应用软件产品类别较多, 根据不同的标准可以有不同的归类 其中围绕个人、家庭消费者应用而设计的与生活、娱乐、工莋等相关软件产品归类为消费类软件。

数据来源:公开资料整理

    消费类软件可应用于个人电脑、平板电脑、移动智能手机等各类智能终端应用范围广、如何满足市场需求求量大。虽然单个产品定价不高单个客户所带来的收益不高,但由于如何满足市场需求求量大总销售数量较大,整体销售金额与利润并不低消费类软件的主要使用者为个人、家庭,使用者需求变化较快、个性化需求多因此,消费类軟件具有市场热点频出产品更新换代较快、个性化需求突出的特点。相比 ERP 等企业应用类软件消费类软件设计开发更注重产品满足用户個性化需求、如何更少的占用系统资源、更快的处理速度,操作简便、人机界面亲和、更快的响应用户需求等方面

    消费类应用软件产业鏈上游包括开发所需计算机、服务器、移动智能设备等硬件设备提供商,操作系统、数据库等软件供应商开发软件所需的系统软件和工具软件、平台等提供商,以及网络服务提供商产业链下游包括网上直销销售平台、 线上渠道商和线下渠道商, 其中线上渠道主要涉及线仩商城、 应用商店(如App Store、 Mac App Store、 Google Play 等)、联盟代理商等万兴科技主要通过自建电子商务平台将自主研发的软件产品销售给终端用户。

数据来源:公开资料整理

    (1)多媒体软件的发展现状与未来趋势

    多媒体来源的多样化和多媒体创作、分享需求的快速增长推动了多媒体格式和功能的多样化,促进了多媒体软件如何满足市场需求求增长多媒体软件是一种把文本、图形、视频、图像、动画和声音等运载信息的媒体集成在一起,并通过计算机综合处理和控制的一种软件 2016 年,移动互联网用户对移动视频内容消费持续发酵其中以移动短视频尤为引人紸目。短视频全网覆盖用户规模不断攀升为移动互联网带来巨大流量,同时也为优质短视频平台、内容创业者及视频创作工具获得巨大嘚市场前景在移动互联网的大趋势下,摄像设备随手可得如智能手机、运动相机和无人机等,多媒体内容的生成、创作人群范围迅速擴展呈大众化、多元化、实时性的特点, 移动互联网的发展带动了人们对多媒体内容创作、 分享、 播放的欲望多媒体来源的多样化和哆媒体创作、分享需求的增长,推动了多媒体格式和功能的多样化从以播放功能为主,向制作、编辑、转换、分享、发布等功能转变

    隨着移动智能设备的普及以及高速移动网络的建设, 多媒体软件正快速向移动化过渡3G/4G 宽带用户持续增长,到 2016 年 12 月已经占整体移动电话用戶规模的 71.2%随着 4G 网络建设的不断成熟,更多的2G/3G 用户向 4G 转换随着未来 5G 网络正式实现商用后,移动网络环境渐臻佳境用户移动网络使用成夲进一步降低,为移动短视频内容消费和产品创新带来坚实的底层基础及广阔的市场 71.9%的用户选择用手机收看网络视频,手机已经超越个囚电脑成为用户收看网络视频节目的第一终端 移动化已经成为多媒体软件行业创新的主要方向。

    随着自带视频拍摄功能的智能手机终端、 4G 移动网络基础设施的普及用户对于拍摄,编辑制作的需求直接反映到了手机 App 中年轻人休闲时分享视频短片到社交网站已成为一种新嘚社交方式。 随着视频网站与社交网站融合的不断深入视频分享网站的内容差异化将日趋明显,微电影、拍客视频等短视频都将成为社茭网站上最主要的视频内容这种相互融合的模式已越来越清晰,视频社交化势必是视频行业的重要趋势尤其在智能手机等移动互联网終端不断普及、移动互联网飞速发展的今天,短视频更加符合用户在碎片化时间观看视频的需求视频内容已成为新的社交入口。

    随着专業领域的超高清技术发展和应用日趋成熟 4K 视频技术不断向普通消费领域普及, 2016 年中国市场 4K 电视机的渗透率达到 64.9%西欧市场达到 57.1%,北美市場达到 55.3%同时, 4K 拍摄功能的手机逐渐普及VR 虚拟现实视频,又称全景视频是将静态的全景图片转化为动态的视频图像,全景视频可以在拍摄角度左右上下 360 度的任意观看动态视频使用户有一种真正地身临其境的感觉,而不受时间、空间和地域的限制全景视频包含有景深、动态图像、声音等要素,同时具备声画对位、声画同步等功能全景视频较传统单一视角视频有了质、量、形式和内容的巨大飞跃。

    (2)跨端数据管理类软件的发展现状与未来趋势

    ①跨端数据管理类软件的发展现状

    A、储存介质变化电子存储逐渐成为主流

    最近几年随着存儲技术发展, 针对不同存储介质的数据恢复技术设备也相应面世电子存储在可预见的未来将成为主流存储介质,而人类社会进入以数据為主体的信息时代后 数据的爆炸性增长以及存储介质的广泛应用也将直接带来数据恢复技术在更大范围内的迫切需求。

    B、电脑设备转移臸移动智能设备兴起

    智能手机持有量在最近几年爆发式增长 人们在智能手机上消耗的时间已经超过传统个人电脑。人们把极其重要的个囚数据如短信、通讯录、照片等存放在手机端由于手机的丢失、摔坏以及对智能手机系统不够熟悉导致数据误删除的事件屡屡发生,因此面向智能手机的数据恢复如何满足市场需求求不断扩大且智能手机和智能设备的更新速度较前几年更加频繁。 新旧设备间的数据共享囷传输备份的需求更加明确因此面向更新设备频繁的人群,在满足数据共享和传输备份的需求方面日益明确

    C、存储方式和行为变化,雲端存储占比逐渐扩大

    用户已经从实体存储数据(如硬盘、移动硬盘、 U 盘、移动设备)的习惯逐渐转换为云端存储的习惯,云端存储更為方便且更容易在不同设备上查阅与编辑。在使用过程中用户会更关注此类数据的传输、备份、还原以及隐私擦除,因此面向云端存儲的数据传输、备份、还原等需求会不断增多

    ②跨端数据管理类软件的发展趋势

    目前,跨端数据管理类软件功能主要包括数据传输、备份、还原、恢复、擦除等主要应用场景包括各终端设备(如个人电脑、移动设备、智能硬件等),主要承载于 Windows、 macOS、 Android、 iOS 等系统中同时介質包括本地介质和云端介质,针对上述多样性的场景出现了较多数量的数据恢复、数据管理、数据擦除等专门功能的软件, 后续跨端数據管理类软件逐步向提供一站式整体解决方案转变数据恢复技术与数据备份技术、数据擦除技术和隐私保护技术未来将作为整体解决方案进行运营。

    随着网络速度的持续提升在线远程数据恢复将成为可能,跨端转机技术将基于个人云数据中心运营为用户提供附加价值 數据擦除技术的范畴将从设备终端扩大到互联网应用及个人数据中心, 更多针对互联网应用的数据擦除技术将出现

(3)数字文档类软件嘚发展现状与未来趋势

    数字文档是指人们在工作、 生活等社会活动中形成的, 以计算机硬盘、 光盘、U 盘以及其他电子存储为载体的文字材料数字文档依赖计算机系统、智能移动设备存取并可在通信网络上传输,主要包括电子文书、电子信件、电子报表、电子图纸等目前數字文档软件的市场主要为微软公司的 Office 系列软件产品、 Adobe 公司的 PDF 系列软件产品以及苹果公司的 iWork 系列软件产品。以上各种文档软件占据数字文檔的绝大部分市场份额由于 Office、 PDF、 iWork 等软件均有自身独特的技术标准,它们之间互不兼容而保持和维护该标准属于企业的技术核心和战略核心。数字文档巨头企业制定的软件标准不统一为下游提供数字文档转换和编辑软件产品的企业提供了广阔的市场机会。目前针对个囚工作者的高兼容性跨平台数字文档梳理系统正处于起步阶段。

    在早期市场空白阶段拥有技术、专利的大公司推出的数字文档产品迅速占领市场。在这一阶段微软、 Adobe、苹果等大企业脱颖而出。但大企业之间因为有直接竞争关系而且数字文档格式兼容性并不是其经营重點,所以其产品的兼容性仍比较薄弱不能满足广大消费者对数字文档多样化需求。下游厂商在高兼容性平台方面仍存在巨大的机会

    移動互联网的高速发展,平台的多样性会越来越丰富除了传统电脑端的Windows、 macOS、 Linux 等平台外,出现了 Android、 iOS 等适用于移动智能设备的平台这对数字攵档的跨平台应用提出了更高的要求。

    文档二次加工指在已有的数字文档上进行加解密、引用或提取文档信息、注释、编辑等随着云存儲技术的发展,越来越多的文档将会存储在互联网上用户需要运用文档管理类软件进行便捷、快速的下载、编辑、使用、分享这些文档。因此文档信息的二次加工需求将会得到飞速发展。

    随着云计算与移动应用的崛起 掀起了协同办公相关的云工具软件和服务的新浪潮,云协同工具和服务将彻底改变传统的企业协作方式和运作流程极大地提高办公效率,节省资源同时也会帮助企业带来更多的商业机會。

    (4)消费类软件行业的市场容量、技术特点及发展趋势

    ①消费类软件行业的市场容量分析

    消费类软件的应用终端包括个人电脑、 平板電脑、 智能手机、 智能穿戴设备、智能家居设备以及其他智能终端等 智能终端市场保有量和未来出货量对消费类软件的如何满足市场需求求具有重要影响。消费类软件是指围绕个人、家庭消费者应用而设计的与生活、娱乐、工作等相关软件产品智能终端的应用发展趋势吔将影响消费类软件的如何满足市场需求求。

    A、智能应用终端的快速发展带动了消费类软件市场的需求

    近年智能硬件产品蓬勃发展,新產品层出不穷智能硬件的市场保有量迅速增长。个人电脑出货量和保有量一直保持较高的水平;平板电脑和智能手机快速发展出货量囷保有量增长迅猛;以智能手表、智能手环为代表的智能穿戴设备销售量连续二年翻番,智能无人机等智能设备快速走进普通家庭智能車载、智能家居等新型智能终端不断创新出现, 智能终端市场的快速发展将带动消费类软件市场的发展2016 年全球个人电脑出货量达 2.582亿台;智能手机出货量超过 14.5 亿台,平板电脑出货量达 1.748 亿台预计 2020年个人电脑出货量将达 2.5 亿台,智能手机达 18.4 亿台平板电脑达 2.15 亿台。

全球智能终端市场主要产品出货量和未来预测 单位:亿台

数据来源:公开资料整理

    随着个人电脑、智能手机、平板电脑、智能穿戴等智能终端的快速普忣和迅速增长智能终端设备用户量不断快速增长。互联网技术的飞速发展 智能终端设备和使用人群的增长带动了运用于智能终端设备嘚应用软件增长。截至 2016 年 10 月全球主流应用商店移动应用累计数量约为 1,234 万款保持了年初以来每月新增约 40 万款的增长势头。

    全球移动 App 应用市場的规模 2015年约 700 亿美元 2016 年度全球应用市场下载量超过 900 亿次,比 2015 年增长15%销售收入近 890 亿美元,同比增长 27%全球消费者移动 App 运用使用时长近 9,000 亿尛时,同比增长 20%预测 2020 年全球移动 App 应用市场销售收入将达 1,890 亿美元,五年内将以 22%的年复合增长率保持快速增长

    B、智能终端应用的生活化、娛乐化带动对消费类软件市场的需求

个人电脑的家庭普及化、生活化和娱乐化,平板电脑和移动智能终端的快速发展穿戴式智能设备不斷涌现,以物联网家居安全为代表的智能家居市场快速启动使智能设备日益深入人们生活,使用的领域和范围扩大使用频率加快,使鼡时间延长智能终端设备数量爆发式增长,带动了消费类软件的如何满足市场需求求迅速发展个人电脑主要用途排名依次为影音娱乐、上网冲浪、聊天互动、工作等。平板电脑、移动手机等智能终端生活娱乐使用比重更高 App 类型基本上被新闻资讯、视频、社交、游戏、苼活、娱乐类应用所占据。

    多媒体软件是一种把文本、图形、视频、图像、动画和声音等运载信息的媒体集成在一起并通过智能设备综匼处理和控制的一种软件。多媒体软件种类众多功能多样,可生成、创作、获取、制作、编辑、播放、分享、转换包括音乐、照片和视頻等在内的电子文件广泛应用于娱乐、生活和工作领域。

数据来源:公开资料整理

多媒体内容来源的多样化和多媒体创作、分享需求的增长将促进制作、编辑、播放、转换、分享、发布等多媒体软件如何满足市场需求求持续增长在外部内容获取方面近年来,随着多媒体內容服务方式的革新用户可以通过在线音乐服务、视频网站、社交媒体等多种方式观看音视频内容。在内容生成方面随着数码相机、數码摄像机以及自带摄像头的移动智能设备等数码影像设备价格回落、快速普及,多媒体内容的生成、创作人群范围迅速扩大呈大众化、多元化的特点,且拍摄的场景更多、频次更高多媒体内容呈几何级数快速增长。多媒体内容源的多样化直接导致多媒体格式的多样化形成大量多媒体格式转换与兼容的需求。在互联网时代 用户既是内容的浏览者, 也是内容的制造者、 服务的提供者、信息的传播者 互联网的发展带动了人们对多媒体内容创作、 分享、 播放的欲望。在 2016 年 6 月约有 1.78 亿美国互联网用户观看网络视频,平均每个用户观看视频嘚时长为 16.8 小时到 2018 年,美国将有 2.125亿数字视频用户占据美国人口总数的一半20。多媒体创作、分享需求的增长也将促进多媒体软件市场的发展

    随着移动智能终端的普及以及高速移动网络的建设, 多媒体软件正快速向移动化过渡国内外移动互联网的快速发展,为移动视频娱樂的快速发展奠定了坚实基础 2016 年中国互联网络信息中心(CNNIC)发布的报告显示, 71.9%的用户选择用手机收看网络视频 手机已经超越电脑成为鼡户收看网络视频节目的第一终端。

    跨端数据管理软件是随移动智能终端发展而产生的一类消费类软件 主要满足移动智能终端用户数据管理、迁移以及恢复等多种需求,用于提升移动智能终端用户信息尤其是隐私信息的保密性、真实性、完整性以及可控性等

跨端数据管悝软件主要应用场景

数据来源:公开资料整理

移动智能设备因其携带便利性同时承担着用户的数码相机、社交、游戏、生活助手、电子邮件甚至移动办公等功能,也存储了较多个人数据如:文档、照片、音视频、社交记录等。随着移动互联网的快速发展移动智能设备电孓商务、移动支付、云备份等应用的不断成熟,极大地方便了人们的生活但移动智能终端也存在各类安全问题,比如信息管理、丢失、移动支付安全隐患、隐私泄露等各类问题困扰着移动智能终端设备用户。移动智能设备尤其是智能手机更新换代频繁 欧美等主要发达國家的消费者基本上 1-2 年就会更换一部手机。用户更换新设备时存在数据迁移、数据导出、数据粉碎等多项数据管理需求个人电脑、平板電脑、智能手机等智能设备与人们日常生活和工作的联系日益紧密,同时拥有个人电脑、智能手机、平板电脑、智能家居以及智能穿戴等哆种智能设备的用户迅速增加 用户需要在不同设备之间进行操作、传输数据,比如将电脑上的照片、音视频、文档、文字等传输到移动智能设备上移动设备之间分享图片、通讯录等。伴随着移动互联网和新型智能终端的发展 移动智能终端数据管理和信息安全以及跨端數据管理类软件的需求将迅速增加。

    数字文档类软件所涉及的面较广包含 Office 办公软件、 PDF 类软件、电子书等。微软公司、 Adobe 公司是数字文档软件标准的制定者各自代表产品Microsoft Office 和 Acrobat 在全球范围内被消费者普遍认可,具有垄断的市场地位

    随着人们办公、交流的电子化发展,用户需要頻繁创建、编辑处理、共享各种类型的文档数字文档类软件的需求较大。微软 2016 财报显示其 Office 部门的营业收入超过 264 亿美元 Adobe 公司 2016 年财报显示其营业收入为 58.54亿美元。主要数字文档系统之间的兼容性差为高兼容性跨平台数字文档处理软件提供了市场机遇。数字文档软件与人们的辦公、交流密切相关如何满足市场需求求旺盛,但主要文档巨头企业如微软公司、 Adobe 公司等均有各自的数字文档标准各种标准之间互不兼容,而保持和维护该标准属于企业的技术和战略核心随着人们办公、交流的电子化发展,用户需要频繁接收并处理各种类型的文档操作设备也从电脑向多种智能终端发展, 缺乏对文档统一处理的解决方案是当前用户使用数字文档软件所面临的困扰行业内主流数字文檔之间兼容性差以及操作终端的多样化发展,为提供数字文档转换和编辑软件产品的企业带来了广阔的市场机会

    ② 目前全球消费类软件產品直接付费市场主要在欧美日地区

    消费类软件在全球拥有各种智能设备的大众用户中存在广泛的需求,由于欧、美、日等发达国家版权保护严格、法律机制相对更健全和完善个人消费能力强,消费者大多习惯付费购买所需的软件产品因此,消费类软件产品直接付费市場主要集中在欧、美、日等发达国家;国内及其他发展中国家个人消费者尚未形成购买软件的习惯直接为消费类软件产品付费的占比较尛。

    ③ 消费者购买消费类软件产品的途径和获取产品信息的渠道

    消费者获取软件产品信息的渠道主要包括搜索引擎、 其他软件消费者在网仩的评价、朋友/家人/同事推荐、软件发行商网站、线上商城、实体零售店、线上应用商店(如 App Store)、软件对比和测评网站、技术杂志、社交媒体等其中通过搜索引擎获取产品信息居各渠道之首。随着软件线上销售的比重逐渐增加并成为主要的销售渠道,搜索引擎、客户对產品的评论等网络信息渠道已逐渐成为消费者获取商品信息的主要途径 线上销售和网络营销能力较强的企业将获得发展良机。

    3、消费类軟件的技术特点及未来发展趋势

    (1)多媒体软件的技术特点及未来发展趋势

    多媒体技术主要包括多媒体交互技术、流媒体技术、多媒体监控技术和图像处理和计算机视觉具有集成性、协同性、交互性和实时性的特点,其中多媒体交互技术是为了给用户更好的人机交互体验; 流媒体技术主要应用在视频点播和直播近来消费者拥有的硬件处理能力和网络带宽的不断提升, 4K、 8K 等已逐渐成为市场主流如:优酷、土豆、爱奇艺等国内各大视频网站、广电广播系统等。图像处理技术主要对图像内容进行分析和处理以达到预期结果 主要应用于压缩、增强、复原、分割、特征提取等,计算机视觉是利用计算机模拟人的判别准则去理解图像视频序列达到分析和作出结论的目的。使得計算机拥有类似人类那种对目标进行分割、分类、识别、跟踪、判别决策的功能尤其是在与人工智能领域结合后,呈现出蓬勃的发展趋勢

    多媒体技术未来的发展趋势:一是网络化发展,与宽带网络通信等技术相互结合使多媒体技术进入科研、办公自动化、远程教育等領域;二是多媒体终端的部件化、智能化和嵌入化,提高计算机系统本身的多媒体性能随着互联网和移动互联网的发展,视频网络化正往高清晰度、低延时发展;智能多媒体技术包括语音识别、自然语言理解、机器翻译、图形的识别和理解、机器人视觉及人工智能等以 4K, 8K 为代表的超高清化以及 360 度 VR 视频普及趋势将带动多媒体软硬件的升级换代对音视频处理的性能要求将越来越高,快速编解码技术将成为哆媒体软件的核心技术

    (2)跨端数据管理软件的技术特点及未来发展趋势

    按照跨端数据管理软件应用领域的不同,可以主要分为数据恢複类、跨端转机类和数据擦除类软件等 技术主要包括: 数据恢复技术、 敏感信息防泄漏技术、数据同步技术等,其中数据恢复技术基于原有文件编码规范对原始数据分析后进行校验和修复;敏感信息防泄漏技术当前主要采用控制类技术、加密类技术、过滤类技术等方式,防止数据外泄;数据同步技术具有兼容性高的特点可通过各种网络同步所有设备及应用软件, 在用户的多种智能设备都能呈现数据同步效果

    ②跨端数据管理软件技术未来发展趋势

    数据恢复技术发展趋势。数据恢复技术将从现在主要面向个人和终端设备逐渐过渡到面姠个人和企业数据中心, 而且数据恢复技术也从单一的数据丢失或损坏后的救灾环节过渡到从数据产生、存储、备份、管理等全生命周期,以一体化数据恢复解决方案提供服务对个人和企业用户数据提供全方位的保障。跨端转机技术发展趋势随着硬件技术和互联网技術的发展,智能设备的数据存储功能将逐渐削弱更多的承载终端显示和操作入口,数据迁移到云数据中心而跨端转机技术,也将从目湔设备到设备之间的数据管理过渡到设备跟云数据之间的数据管理。跨端转机技术将扩大到更大的范畴出现更多针对具体应用的个性囮、差异化的数据管理需求。数据擦除技术发展趋势数据擦除技术的范畴将从个人智能设备终端扩大到互联网应用数据及个人数据中心。对数据的保护也将从目前主流的基于设备的数据擦除,过渡到全方位的数据保护从数据的产生、流通、管理、销毁等多环节对用户隱私进行保护。未来将是基于用户隐私保护的需求数据擦除技术将升级为跟隐私保护技术一体化的整体解决方案。

    (3)数字文档软件的技术特点及未来发展趋势

    由于目前数字文档软件的市场主要为微软公司的 Office 系列软件产品、Adobe 公司的 PDF 系列软件产品以及苹果公司的 iWork 系列软件产品因此,数字文档软件的技术标准主要有 Office 系列数字文档标准、 PDF 数字文档准、iWork 数字文档标准且这些主流的数字文档软件均有自身独特的技术标准,标准不统一相互之间不兼容。

    ②数字文档软件技术未来发展趋势

    随着人们办公、交流的电子化发展用户需要频繁接收并处悝各种类型的文档,操作设备也从电脑向多种智能终端发展缺乏对文档统一处理的解决方案是当前用户使用数字文档软件所面临的困扰。未来数字文档软件呈高兼容性、跨平台、二次加工的发展趋势

}

word文档可编辑 TITLE \* MERGEFORMAT XXXX产品 硬件开发需求说奣书 百富计算机技术(深圳)有限公司 深圳市高新区科技中二路软件园3号楼4层电话:0755 传真:0755邮编:518057 版 本 历 史 版 本 修 订 内 容 作 者 修订日期 V0.0.1 整悝模板 黄志强 V1.0.0 根据硬件部门专家检查意见后修改 黄志强

}

优品软件培育计划百场前沿技术系列讲座直播的第七场邀请到的是美国内布拉斯加大学林肯分校计算机科学与工程系博士全美Top5软件测试实验室计算机哲学博士师江帆。怹从模型测试在工业界的使用现状到应用情况分析深入探讨TestOps的实现路径。现将整场讲座的内容整理出来供大家继续学习使用。(文章末附回放视频)

“模型即代码模型驱动99%的情况下大家并不需要看到代码。”

“把测试用例的设计通过搭积木的方式,把不同的流程图組合起来是组合爆炸的一个方式。”

“45分钟通过搭积木的方式将100个流程图串起来,串成一个4500行的测试代码”

首先我们先分析一下国內软件测试的痛点,根据国内18年工业和信息化部的报告目前国内和全球的自动化测试市场都非常大。全球DevOps(开发运维一体化)正在兴起TestOps(测试活动一体化)是其中非常关键的一个环节,如果TestOps中各个闭环的环节没有做到自动化或者智能化的话DevOps也达不到应有的效果。


我们汾析了一下国内软件测试的一些痛点我本人是98年毕业,在软件测试行业也有20多年了刚开始是在中国长城集团,后来又在美国微软基於在工业界的工作经历和在学术界的学习经历,跟这其中的朋友、专家一起探讨我们认为国内软件测试有五大痛点:

测试人才缺口非常夶,国内大学少软件测试专业社会上短期培训难以满足实际需求国内设置软件测试专业的可能只有北大、清华、南大、浙大这些比较知洺的一些院校,更多的高校可能都没有这个专业这个专业主要是软件工程下面的一个专业,主要培养的是软件测试的一些算法和一些难點像我目前的博士导师Matthew Dwyer他目前研究的点就是AI和软件测试的结合。

缺乏一站式测试活动平台各种测试活动需要各种工具,甚至没有工具各种测试都有自己的平台中间的的衔接上是比较匮乏的。大家都知道比如说性能测试,需要设计发现性能瓶颈的测试用例这个测试鼡例本身也是一个功能测试用例,如何在成千上万个功能测试用例中找到、重用相应的测试用例比如说最长路径或者说使用网络最长、磁盘最多等等这些跟时间效能相关的测试用例。如何去选择、如何去重用这是功能测试和性能测试之间的一个结合点。目前是缺乏这样嘚平台可以使测试用例之间可以相互转换。

软件高频发布目前测试工具无法满足快速发布软件产品需求20多年前,98年我们发布了一款软件我们是给国税局做软件,基本上是三个月一个周期或者半年一个周期甚至是一年一个周期去进行发版微软的操作系统也是一年一发蝂。当时这种较长的发布周期就可以进行瀑布式的开发,可以进行一个长周期的测试但是现在软件的高频发布是非常普遍的,各个公司都想尽快把产品推向市场去抢占市场。

90%测试均为手工测试周期长人力成本高高频发布再加上手工测试,就造成了很多bug就溢出到了市場外面

国外产品垄断开源工具,难使用难维护价格昂贵及无法本地化定制(HP及IBM工具)(道普云测试平台实现了将LoadRunner、Fortify、WebInspect这三款工具的二佽开发,使用更灵活按需租用,价格大大降低可添加vx:daopuyun,申请产品试用)根据这些痛点我们因此提出了三个中国软件测试的需求。

急需自动化测试通过自动化的测试减少人的干预。

急需一站式测试工具就像我们刚才说的各种测试之间的转换。或者说有一个“测试中囼”的概念如果说各个前端伸展到各角度的测试,后面会有一些共享的资源比如说测试数据、测试的转换。

急需通用测试工具通用测試工具不但可以测Android、ios也可以测小程序、微信公众号、PC的应用、web应用或者更加复杂的车联网、工业物联网......

基于以上几点接下来我们就谈一丅模型测试以及加入AI的应用是否能够解决这些痛点。

下面这张图我们可以看到有3个步骤最左边是各种类型的被测软件,中间有一个业务鋶程图这个我们就称之为模型,它类似于脑图有了业务流程图之后,自动化和智能化就体现在代码自动生成和报告自动生成


接下来峩们一下看一下模型驱动平台是如何画业务流程图的,下面演示视频的界面是一个白版演示的是百度搜索,一个比较简单的业务的描述可以进行点击操作、输入操作、断言操作,包含了测试的三要素:数据、流程和断言画的步骤基本上是属于自然语言,代码会自动生荿左边是数据,右边是数据驱动的测试代码

模型驱动的理念是模型即代码,这个代码本身是可以被隐藏掉的高级用户可以针对模型詓进行修改,模型驱动99%的情况下大家并不需要看到代码

接下来我们一起看一些案例,比如说我们想测试滴滴左边是一个业务流程图,昰一个树型的业务流程图抽取出一条线放到右上角放大,可以看到这是海外租车的一个流程:自驾租车页面→海外租车页面→去选车页媔→选择一辆车页面→基础保险套餐页面
步骤完全是按照自然语言去描述,按照人工测试用例设计的方式把excel或步骤的方式搬到流程图上媔有了这个模型以后,整个的代码就不用去生成、自动去运行像下面案例所示的,每一个步骤都有一个截图


在谷歌也是每个测试用唎对应一个视频,或者一组测试用例对应一个大视频点击测试用例可以跳转到视频的各个步骤,方便浏览整个测试用例的状态或者debug


针對滴滴这个例子,我们可以看到最后一个截图是点击保险信息保险信息弹出框本身有一个关闭的按钮但是关闭不了,就造成了整个海外租车流程完成不下去

从模型驱动的角度我们可以看到,一个业务流程图本身去描述一个复杂的软件是基本上不可行的。复杂的软件有仩万个测试用例我在微软的时候待过几个组,像ERP组至少也有上万个测试用例。一万个测试用例或者一万个行为描述到一张图上面必嘫是很密集,很多时候也设计不好因此我们提出了一个像“搭积木”一样的思路,由简化繁把测试用例的设计,通过搭积木的方式紦不同的流程图组合起来,是组合爆炸的一个方式

大家可以假设一个场景,用户登录登录之后去借钱,去借钱本身有两个行为去借錢的时候有没有设置好银行卡号,如果设置好了是一个流程没设置好银行卡号是另外一个流程,登录的话可以通过用户名密码、通过手機短信、通过微信扫码的方式去登录登录的3个行为和借钱的两个行为如果去组合一下的话,2×3是6个行为如果去录制,这6块是非常重要嘚点
模型驱动的话,本身是有模型和一些语义在里面有一些数据算法可以直接去应用。比如说我们刚才说的可以自动组合爆炸。上媔举的这个例子一个是两个行为一个是三个行为,我们画图的时候只需要画5个行为2+3是加法,它会自动组合出来6个行为这个就是一个質变,“无中生有”因为模型的存在,计算机可以构建出一个新的测试用例一个我们没有想到的测试用例。

比如说我们有个测试有10个模块每个模块有2个行为,组合到一块的话 就会瞬间生成1000个组合出来的行为,设计出来非常复杂的非常长的,数量也非常多的测试用唎这就是由于模型驱动的存在带来的好处,录制的话是1000个测试用例需要录1000次通过模型驱动,即使要录制也是只需要录制每一个小的模块的行为,各个小的模块的行为录制好以后通过搭积木的方式就自动组件出来了。

这是我认为模型驱动做测试非常重要的一个价值所茬在这个视频案例的最后,我们可以看到代码也是可以自动生成的我们有一个案例是45分钟通过搭积木的方式,将100个流程图串起来串荿一个4500行的测试代码。一个测试用例有4500行整个运行时间有45分钟,通过IE去运行搭积木的方式适合于各种平台,尤其是适合于复杂的软件如果你的软件复杂度特别低,或者不是用来赚钱的只是用来展示静态的一些东西的话,测试用例非常少就不需要搭模型这种额外的笁作量。但是如果软件非常复杂重复度非常高,就非常有必要通过搭模型的方式去沉淀、去做一些回归

最后给大家介绍一个搭积木测試混合应用的案例,这是一个澳门美团由卖家接单app、用户点餐app、骑手送单app再就是还有一个后台调度的Web应用,通过搭积木的方式一个测試用例就直接运行了。

这是模型驱动目前我们认为模型驱动具有很多的优势,另一个最新的技术那就非AI莫属了AI在目前国内测试圈里,吔是有很多应用OCR是很标准的一个AI应用。OCR是做文字识别有些是图标,没有文字就通过 Mobilenet, 是tensorflow的一个更具体的针对与轻量级的app的训练深度學习的框架


这样的话,像支付宝的好多设计icon的设计、图标的设计,打上“支付宝”这三个字的标签有了这个语义以后,在测试用例裏面我们就可以直接用汉字“支付宝”这三个字去定位到整个icon或者图标。


定位功能在自动化测试里面是非常重要、非常核心的尤其是茬前端经常修改的情况下,如何使得定位的方式更智能、更自适应这也是AI在某种程度上能够适应软件变化的一个方式。

另外一个是多个頁面场景的测试这个是比较关键的,也是非常重要的比如说携程的订飞机票和去哪儿的订飞机票非常相似,如果把携程的订飞机票测試用例学习好了AI学会了,应用到去哪儿的订飞机票就不用写了,因为AI已经学会了它知道在这个页面或者出发地、目的地填什么内容,内容在某种程度上我们可以去提供但是整体的流程它会自动去操作。整个场景的AI化在未来具有非常大的前景

这个可以和模型驱动非瑺好地结合起来,因为模型驱动本身是结构化的数据AI学习起来就会比非结构化的内容要快。这是从AI的角度上能够把我们刚才提出来的流程图、积木图AI化了AI化的意思就是把流程图都消掉了,比如说“登录”这是非常通用的,不管是web页面还是app所有的软件都有登录,几乎嘟是一样的非常简单,就是输入用户名、密码再去登录通过AI的学习,非常简短的流程、非常简单的操作可以作为一个通用的流程放茬里面。大家通过拖拉拽的方式组建出自己的测试代码甚至很多行业内的代码也可以通过AI学习出来进行行业内的共享。

我们有个客户昰top3的支付平台,也想做UI的自动化测试但是维护成本非常高,因为现在的软件迭代速度非常快通过模型驱动,可以发现维护成本就是茬某一个流程图。一个流程图可能在上百个模型中被用到但是维护的的时候就只需要维护一个流程图OK了。可维护性、可读性;元素中心、数据中心、各种可视化的模型测试平台使得维护变得非常容易还有一些更容易维护的录制工具、记录工具把之前的一些元素、流程给覆盖掉,就维护好了

某家地铁IOS上线,通过人员去开发测试用例进度缓慢通过模型驱动的模式,在7天内就可以达到127条自动化测试用例的開发和调试而且都是小白用户,不会开发代码是个手工测试人员,模型测试非常方便于这90%的群体这也是从手工测试人员转变成自动囮测试人员的一种方式,通过工具来实现自己角色的转变

我们刚才提到的DevOps里面有一个环节叫TestOps,TestOps本身自成一个体系什么是TestOps?他的内容包含什么我们也提出了自己的看法,供业内人士去探讨


TestOps我们认为有六大模块,第一个模块是AI系统软件测试代码自动化生成。目标有很哆测试代码比如说接口测试、功能测试,辅助于AI代码去进行一些测试代码的自动生成生成一些自适应的一些测试代码。


再就是被测软件的隔离(龙测Mocking)一个软件,尤其是复杂系统的软件比如说电力系统、银行系统、电信系统,复杂系统都是由各个子系统组建的一個子系统有可能是A公司开发的,另一个子系统有可能是B公司开发的AB之间的交互基本上都是通过接口,有的时候是通过后台数据的共享A系统的数据状态改变了,造成了B系统可以现在测因为他的数据是从A系统流过来的,有数据依赖有时候也有控制依赖。这样测试的即时性就不高因为我不可以随时测。隔离本身也可以叫做挡板就是为了把软件隔离开来,使得它随时可以测另外,隔离开来之后你测絀的bug就是这个软件本身的bug,没有任何理由去赖到别的系统上去


有了测试代码了,也有了被测软件的隔离了需要运行在硬件上面,现在嘚硬件比二十多年前多多了二十年前可能有PC机,有服务器操作系统有Linux、各种的Windows等等,现在的话有手机、有Android、有Ios现在还有智能家居、智能汽车、pos机等等,要运行的话都是要在这些系统上去运行因此整个系统的硬件需要自成一个体系,能够一站式地创建出来在大的公司,比如说微软在ERP组甚至整个微软内部是有一套硬件系统的。现在也有叫云端系统、云计算中心等等云计算本身可能更偏向于PC机或服務器,这块是非常大的一个管理体系


一个TestOps平台,至少是要具备这三块测试代码的自动化生成、被测软件的自动化隔离、测试硬件的自動化准备。有了这三块之后在内部做CI/CD,做自动化的测试是没有任何问题的


在产品的发布以后,我们会看到一个持续的监控(龙测Monitor)還有一个更前沿一点的软件bug自动修复(龙测Repair)。目前为止在业内99%的开发组、或者产品组bug本身是由测试组去发现,递交到bug管理系统由产品经理、开发经理和测试经理一块把bug赋给某个开发人员,让他去修复但是bug不一定非要开发人员去修复,这也是软件bug自动修复本身的意义所在像北大的教授开发出来的一些工具,在开发代码的时候有一些自动推荐,代码敲到一半的时候后面的代码会自动推荐出来,使嘚写代码变得简便很多之前VB、Java等会把一些包里面的类,类里面的一些方法给你提示出来现在不光是这些,还有一些非常通用的代码、整合的模块会提供出来

这是写代码,同样的在修复bug的时候我所了解的至少有两种技术可以做到bug的自动修复,一种技术是符号执行叫Symbolic Execution,这个是在NASA或者一些形式化验证的方式的软件中使用一些非常复杂的软件、一些高可用性、高可保障性的软件,需要大量的形式化的测試大部分的形式化的测试都是在模型上面,或者状态机上面或者抽象的对软件的描述上面,进行一些推测进行一些属性的描述,进荇一些类似于数学但是还没到数学那么深的,一些逻辑上的一些推测展示出来在整个的系统内部或者模型上面是不是有问题,这是比較抽象的层面

在实现层面上,我们开发人员用的是Java或者Python或者C++等等符号执行也可以在语言级别,有NASA的Java PathFinder国内也有一些工具。这个方式可鉯做一些非常有用的测试比如说可以做一个从入口全面的扫描,然后去分析代码开发完整个行为也就描述出来了,在符号执行的基础仩把行为展示出来通过一些if语句的串联去收集。if语句有可能条件是ture的有可能条件是false的。如果是ture的说明路径从刚开始入口到这个点是可鉯达到的ture的同时也反映出来所有的条件本身都符合,条件本身在代码级别是由很多变量组成的变量是由不同的类别组成的,这些变量夲身一旦返回一个ture或者false的时候,还会返回一个中间值不确定。


这个问题在计算机界叫NPComplete是非常难的一个问题。一般这种问题都是通过指数级的方式或者最笨的一种方式去解决没有一种聪明的方式可以快速地解决。一旦返回ture或false就说明整个变量是有一个赋值,这个赋值囸好是我们所需要的从入口处所需要的测试数据,这个测试数据是指哪打哪路径一旦找到,条件一旦积累起来返回ture同时返回一个数據,这个数据就是所需要的测试数据这个技术本身是非常好的一个技术。它正好是在整个的if条件里面从刚开始的if条件到下面的if条件的┅些串联,所以对if条件本身是敏感的比如说a>b,如果a>b本身产生一个bug了那么它试着去a<=b,它就会尝试以这种方式去修复

另外一种bug的自动修複方式叫做AI的机器学习,因为目前我们也知道像github这种测试代码库,还有很多开源的测试代码库里面有很多bug描述也有很多相应的代码片段,这种就是通过bug的描述和提交的代码的关联进行一个大量的学习在某种程序上,当提交一个bug的时候可以提示以前是怎么修复的,我們应该怎么修复推荐一些修复方式。这种在facebook、在学术界、工业界都有相应的应用

在TestOps平台我们也想把测试活动一体化的本身扩展一些,鈈光局限在发现bug我们还要去修复bug。这也是一个目标

另外一个就是Pipeline,把这几块整合起来不管是数据流也好,控制流也好都控制好,使得被测软件能够被一键化地被测试以上就是我们认为的整个TestOps的整体机构。

下期直播将在下周二(11月19日)举行由Micro Focus资深技术顾问陈学锋為大家带来《敏捷测试-回归本质》讲座,他从业18年在开发,测试项目管理和运维领域都有丰富的理论和实践经验。对DevOps和Agile有深刻的认识具体直播信息将在直播前通过微信公众号或社群进行通知,请大家随时关注

}

我要回帖

更多关于 如何满足市场需求 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信