VS 2010 测试功能学习(六) - Rolling Build

      如同我在《VS 2010 测试功能学习(五) - Gated Check-in》一文中所介绍的Gated Check-in功能一样,Rolling Build其实也是Team Foundation Server(以下简称为TFS)提供的对check-in代码进行编译和验证的方式,虽然并不和测试直接相关,但它却是保证产品质量和团队协同工作的重要功能。

      Rolling Build,我把它翻译为“滚动生成”,即当TFS检测到在它所监控的范围内有任何新的代码变化被check in的时候,它就启动对最新的代码库(code base)进行Build验证。之所以称之为“滚动”,因为它是在一个Build验证操作完成后再去探测有没有新的check in发生,对Build验证期间发生的check in,会被积累到下一个Build验证。

      配置Rolling Build的步骤很简单,只要在Build Definition的Trigger标签页中选择“Rolling builds”即可,如下图所示。"Build no more often than every  minutes.”选择用来控制Rolling builds的频率。

image

      这里需要再强调一下Rolling Build的重要意义。Rolling Build看似只是一个自动生成代码的功能,但实际上它起着协调整个开发团队、时刻监控代码库质量、以及尽早暴露产品问题的作用。因为Rolling Build时刻都在不停的运转着,对于任何代码check in它都保持着警觉,会去自动验证编译是否成功,自动化测试用例是否都能通过。它就像一个不知疲倦的“代码守护者”一样监控着代码库,第一时间发现其中的任何问题,将问题通知给整个团队,从而避免了问题的积累和拖延。这非常符合敏捷开发中“今日问题今日解决,不要拖到以后”的原则,它帮你最早的发现问题、报告问题,开发团队则应该建立制度要及时响应Rolling Build所报告的问题,把它作为Priority = 0/1的问题去对待和解决。

      那么TFS的如何告知Build的结果呢?TFS 2010提供了以下几种途径来通知Build的状态:

方法一 :邮件方式。在Project Alerts对话框中(Team Explorer中右键选择指定的工程)可以配置需要相应Build事件的email地址,如下图所示,为工程Dev10Dogfood配置了当有任何Build完成后,发送通知邮件到整个团队的邮件组。但这个方法我还没有实验成功,可能是因为邮件系统的配置问题,:(

image 

方法二 :VS 2010中提供了一个Team Foundation Server Tools安装目录,在它下面有一个被称为"Build Notification”的工具,这个工具时刻“潜伏”在Taskbar中,监控着TFS端任何Build相关的信息。就像Outlook的邮件通知一样,当有任何Build开始时,它都会在屏幕右下角弹出一小窗口来通知你,如下图所示。

image

方法三 : 前两种方法都是主动通知你,而第三种方法就是要你在Team Explorer中选择中你的Build Definition,然后在右键菜单中选择“View Builds”去显示单前的Builds状态。

 

      连同上两篇博客《VS 2010 测试功能学习(五) - Gated Check-in》和《VS 2010 测试功能学习(四) - Test Impact Analysis (TIA)》在这里对它们一起做个小结:代码库是整个开发活动所围绕的最核心的东西,而对它的check-in操作又整个开发过程最为频繁发生的操作,这两者看似一对矛盾,因为频繁的checkin操作难免会有出现差错的情况,影响的代码库的稳定。所以需要有一套机制来保证每次check-in操作的质量,即使有错误发生也能及时的发现和补救。TFS 2010中所提供的TIA + Gated Check-in + Rolling Build三者结合起来就可以实现一个这样的机制,它们其中任何单独一个方法是无法完成的,团结起来才是最完美的。TIA帮助开发人员发现5%最关键的Testcase在其准备运行check in之前自己进行验证;Gated Check-in执行20%左右最关键的测试用例,在更广阔的覆盖基础上上发现潜在的问题把好check-in的最后一道关口,同时又不会占用太多的时间;Rolling Build则是不辞辛劳、周而复始地执行100%的Testcase,随时发现其中的问题。

 

参考资料

  1. http://msdn.microsoft.com/en-us/library/ms181716(VS.100).aspx
### Kali Linux 中 Pwn 工具及其使用方法 Pwn 是一种针对二进制程序漏洞利用的技术,在网络安全领域中被广泛应用于渗透测试和逆向工程。以下是关于 Kali Linux 下 pwn 工具的相关介绍及使用说明。 #### 一、Kali Linux 的适用范围 Kali Linux 主要面向专业人士、网络管理员以及其他具备一定技术水平的用户群体[^1]。由于其内置大量安全工具,因此非常适合用于研究和实践各种类型的漏洞利用技术,包括但不限于缓冲区溢出、格式化字符串攻击等。 #### 二、配置开发环境 为了支持 pwn 类型的任务,通常需要先设置好基础编程环境并安装必要的依赖项: - **更新源列表** 修改 `/etc/apt/sources.list` 文件中的内容为清华镜像站点地址以便加速下载速度: ``` deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free deb-src http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free ``` - **安装前提软件包** 使用 `apt-get` 来获取 Python 及其他构建所需组件: ```bash sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential ``` - **升级现有软件包** 执行命令刷新本地索引数据以反映最新可用版本号变化情况: ```bash sudo apt update ``` #### 三、核心工具——pwntools 的部署与功能概述 pwntools 是一个专为 CTF (Capture The Flag) 比赛设计的强大框架兼库集合体,能够简化许多复杂操作流程比如编写 exploit 脚本或者调试远程服务端口连接状态等等。 - **通过 pip 实现自动化安装过程** 运行下面这条指令完成整个项目的克隆加编译打包工作一步到位: ```bash pip install pwntools ``` 此模块提供了丰富的 API 接口来处理诸如 shellcoding、ROP 链构造等问题场景下的需求满足度极高[^2]。 #### 四、推荐编辑器集成方案 对于初学者来说选择合适的 IDE 或者文本处理器同样重要。Visual Studio Code 就是一个不错的选择因为它插件生态系统完善而且界面友好易于上手学习曲线平缓适合长期维护项目文件结构清晰明了便于团队协作交流分享成果快速高效[^3]。 --- ### 示例代码片段展示如何创建简单的交互会话对象并与目标服务器建立通信链路 ```python from pwn import * # 创建一个新的 process 对象实例代表启动了一个新的进程实体 conn = remote('challenge.example.com', 1337) try: conn.recvuntil(b'Enter your choice:') conn.sendline(b'1') # 发送选项 '1' finally: conn.close() ``` 上述脚本展示了怎样借助于 `remote()` 函数轻松实现跨网络节点之间的消息传递机制从而为进一步深入探索打下了坚实的基础。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值