了解你的被测系统(why?)

 

如何做好系统集成测试【二、了解你的被测系统】

 

如果看完了第一篇文章,你的答案是Yes。我们可以继续讨论如何做系统集成测试啦。

了解你的被测系统(why?)

一如既往的,你会想到在一个测试之前,你需要做测试计划,你需要做测试策略、方案。但在这之前你首先要了解你的被测系统。

这里讲的被测系统不仅仅指的软、硬件系统自身。你还需要理解系统所处的上下文环境这包括:所有干系人,项目周期,相关文档(过程文档,技术文档),部署,相关技术,商务合同,历史信息,业务知识,法务、文化相关的东西。

获取的信息越多,越有助于我们做出正确的判断。上述信息都相当重要,有时候会影响到系统集成测试的成败,甚至项目的成败。下面举2个例子:

1.某电信项目的总包商对某个分包商拿到的子系统业务的复杂度认识不足,签署的项目主计划中确定在项目较晚阶段才开始做集成测试,结果发现大量问题,造成项目延期5个月。而合同中项目逾期的赔款规定让总包商没有赚到利润。

2.某大型项目(系统升级类型),在集成测试团队花费了很多精力梳理业务场景(BPS)后,一名业务分析师发现:有一份非常好的业务场景定义文档静静的躺在配置管理库的历史文档区,这份文档几乎可以直接被拿来使用。这时候,几十个人月已经被浪费了。

3.某大型项目,在集成测试进行过半后,得到一个消息,某个测试过的主业务场景,这令工作了几个星期的测试人员十分沮丧。而造成这一切的是因为一次变更会议,测试经理没有参加,也没有得到相应的邮件或者其它形式的变更通知(我们当然要责怪项目管理的不堪,但没有及时获取变更也是浪费造成的主要原因)。

有人肯定要问了,这些信息都要掌握?岂不是头都要爆了?上述的信息量肯定会让一个测试经理头大,但,这就是他的工作。负责集成测试的测试经理50%以上的时间应该方法信息的获取与分析上。你也许要说:如果严格依照软件工程,测试经理根本不用那么费劲就能获取这些信息。我只能说这么想图样图森破,或者你是神仙。在我和我认识的所有测试经理经历过的系统集成测试案例中,过程非常顺畅,结果非常成功的不足1%,也许不足0.1%。涉及的干系人越多,干系方越多,问题也就越多,有时候是指数级增长。这些不都是测试经理能够搞定的,但没有非常好的信息获取能力,分析能力,没有很强的管理协调能力,是很难做好系统集成测试的。

了解你的被测系统(how?)

那怎么能有效获取这些信息呢?下面我给出一些常用建议:

1.尽量参加所有项目相关的重要会议,这些会议会确定很多重要的事情:项目范围,周期,投入,干系人职责。这些都对你后续工作带来直接影响;如果你级别不够,尽量争取,或者让你的上级或者干系人同步给你相关信息;依靠配置管理工具获取这些会议的纪要;保存重要相关邮件,并纳入配置管理(如果你维护测试相关的配置管理)。

2.获取风险信息,并管理风险。具体的方法论可以参考James Bach这篇文章,里边给出了非常好的方法论(不仅仅是获取信息,还有怎样利用风险进行测试,如何管理风险):http://www.satisfice.com/articles/hrbt.pdf

3.配置管理!配置管理!配置管理!重要过程文档基线化,重要文档基线化(需求,涉及,测试用例等),尽量让干系人使用一套配置管理系统。

4.干系人访谈:这里的干系人可能包含一切有利于你工作的人,子系统测试经理,子系统项目经理,总体项目负责人,最终用户,业务分析师等等。一个建议是:从风险问起,让他们从自己的角度谈谈项目的最大风险是什么(有可能非常有启发性)。

5.尽早进行文档收集与梳理,对你最重要的文档有:系统总体的需求、总体技术架构(可能以概要,主要功能点描述之类的非正式文档出现,很多时候你拿不到提纲挈领的东西),业务场景分析(如果是业务密集系统),各子系统测试用例(可以复用),测试报告(帮助你分析风险及测试深度),

[Windows Phone]常用类库&API推荐

2014-01-07 21:24 by hellenism, 104 阅读, 0 评论, 收藏编辑

简介:

把自己的应用程序搭建在稳定的API之上,这会使得我们在开发时能把精力都集中在程序的业务逻辑之上,避免重复造轮子,并且使得程序结构合理模块化,层次清晰,易于维护。

推荐给大家个人觉得很赞的第三方API(并且自己也可以为一个记录)

一.The Windows Phone Toolkit

微软官方控件库 ,Windows Phone最常用的控件库,Metro风格,开源,可作为学习参考。

下载地址
http://phone.codeplex.com/

二.WPToolkit

Devdiv版主Kinnara大神对The Windows Phone Toolkit的扩展,里面有很多The Windows Phone Toolkit没有的控件,稳定,开源,使用方便

下载地址

https://www.nuget.org/packages/WPtoolkit.Kinnara/

三.Coding4fun

最新版本的coding4fun里提供了很多漂亮的控件和其他辅助的工具类,开发时候很有帮助

下载地址

http://coding4fun.codeplex.com/

四.bewisephonecontrols

开源控件库,好像很久没有出新版本了,但是里面也有很多有用的控件

下载地址

http://bewisephonecontrols.codeplex.com/

五.MVVM Light

如果想要MVVM进行开发,那么可以使用mvvmlight提供的MVVM框架进行快发,mvvmlight轻量级,使用方便,构建程序速度快

下载地址

http://mvvmlight.codeplex.com/

六.Newtonsoft.Json

JSON解析API,比.NET中自带的好用,尤其是类型嵌套时候

下载地址

http://json.codeplex.com/

七.Microsoft HTTP Client Libraries

微软提供的HTTP请求的封装,不用再自己实现蹩脚的AMP模式,不用再自己实现HTTP中的Timeout,里面都已经封装好了 WIN8可用

下载地址

https://www.nuget.org/packages/Microsoft.Net.Http

有了以上的"轮子",只需要我们使用合理的"胶水"把他们合理的分层并且结合起来,就可以快速构建我们自己的易于维护的应用程序了。

THE END

人生就是一局不能Again的DOTA
 
 
 
 

了解你的被测系统(why?)的更多相关文章

  1. Mock Server之与被测系统对接(python+flask)

    第一步:获取入参与返回结果 先通过postman.jmeter.自己写脚本之类的方式请求我们的mock server,试着获取入参与对应的返回值,这里我用的是robotframework + Requ ...

  2. 量化交易回测系统---RQalpha、qstrade学习笔记

    一.RQalpha github 地址  https://github.com/ricequant/rqalpha 1.运行test.py文件,显示 No module named 'logbook. ...

  3. 案例 | 荔枝微课基于 kubernetes 搭建分布式压测系统

    王诚强,荔枝微课基础架构负责人.热衷于基础技术研发推广,致力于提供稳定高效的基础架构,推进了荔枝微课集群化从0到1的发展,云原生架构持续演进的实践者. 本文根据2021年4月10日深圳站举办的[腾讯云 ...

  4. 实践作业3:白盒测试----简单介绍被测系统DAY4

    本次被测软件是高校学生信息管理系统,和上次黑盒测试选用一样的系统,这样做的好处在于我们对系统比较熟悉,而且可以更好的比较黑盒测试与白盒测试的区别,采用MySQL Workbench 6.3,在MyEc ...

  5. 实践作业2:黑盒测试实践——在被测系统上录制脚本 Day 5

    1.处理了学生信息管理系统运行的小细节 2.总结了katalon的使用流程如下 a.在Katalon Studio中创建一个自动化测试项目. b.创建一个测试案例,用来写入所有必要的测试步骤 c.编写 ...

  6. python-侦测系统

    大概就是这样 要求 告警需要一定之间内出现多次 然后才报警一次 如果恢复 必须发送恢复的信息

  7. 京东全链路压测军演系统(ForceBot)架构解密

    摘要:全链路压测是应对电商大促容量规划最有效的手段,如何有效进行容量规划是其中的架构关键问题.京东在全链路压测方面做过多年尝试,本文转载京东商城基础平台技术专家文章,介绍其最新的自动化压测 Force ...

  8. 【性能压测】:MQ队列异步处理机制导致的系统无法接受请求的问题

    一,最近压测系统交易峰值时,因该支交易采用MQ异步队列处理机制:该增加积分的交易,前段服务器优先返回给客户增加积分成功的结果,后端的MQ队列服务器再慢慢处理该请求: 二,压测过程中出现的问题现象:前几 ...

  9. 性能测试知多少---系统架构分析 转自https://yq.aliyun.com/articles/35147?spm=5176.100239.blogcont24251.8.lS96At

    摘要: 有些事儿一旦放一放就难再拾起来,突然发现<性能测试知多少>这个系列两月没更新,关键时我都不知道啥时候放下的,总容易被各种技术所吸引走,如饥似渴的想学更多的东西,这几天一直有朋友问我 ...

随机推荐

  1. ViewPager用法

    第一图:          页面中填充内容是随机关键词飞入和飞出动画效果,随后会更新,如今请先无视吧 ---2015-02-27--- 两年后最终更新了,网上都能搜到的,哎 无奈太懒http://bl ...

  2. Open the Lock

    Problem Description Now an emergent task for you is to open a password lock. The password is consist ...

  3. 自定义View视图

    自定义View视图文件查找逻辑 之前MVC5和之前的版本中,我们要想对View文件的路径进行控制的话,则必须要对IViewEngine接口的FindPartialView或FindView方法进行重写 ...

  4. 【源代码】StringBuilder和StringBuffer震源深度分析

    //------------------------------------------------------------------------ 写篇博客不easy.请尊重作者劳动成果. 转载请注 ...

  5. LeetCode:same_tree题解

    一.     题目: 给定两个二叉树,编写一个函数来检查它们是否相等或为空树.假设两个二叉树被觉得是相等的,那么它们在结构上是同样的,而且随意节点具有同样的值. 二.     分析 非常easy的题目 ...

  6. js模块开发

    js模块开发(一) 现在嵌入页面里面的javascript代码越来越复杂,于是可能依赖也越来越严重,使用别人开发的js也越来越多,于是在理想情况下,我们只需要实现核心的业务逻辑,其他都可以加载别人已经 ...

  7. AForge.NET 工具源码下载

    AForge.NET是一个专门为开发者和研究者基于C#框架设计的,这个框架提供了不同的类库和关于类库的资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器 ...

  8. centos6的安装

      centos6的安装,一步一图,有图有真相     打开虚拟机VMware,点击文件,选择[新建虚拟机],如图所示

  9. Android学习小Demo(21)ListView的联动选择

    在日常的App开发中,尤其是在开发生活服务的应用上,非常多时候,我们会须要联动地展现省市区的数据等,需求大概例如以下: 1)展现全部省份 2)当点击某省份的时候,在二级菜单上展现此省份以下所属的城市列 ...

  10. Spring IOC 之Bean定义的继承

    一个Bean的定义可以包含大量的配置信息,包括构造器参数.属性值以及容器规范信息,比如初始化方法.静态工厂方法名字等等.一子bean的定义可以从父bean的定义中继承配置数据信息.子bean定义可以覆 ...