Welcome to MSDN Blogs Sign in | Join | Help

Browse by Tags

All Tags » Testing   (RSS)
Spec Explorer是微软发布的一款与Visual Studio紧密整合的基于模型测试的工具。用户可以通过Spec Explorer对一个软件系统的期望行为进行建模,并自动生成能够在Visual Studio的测试框架下运行的测试代码。模型可以用当前主流的程序设计语言C#开发,然后通过Cord语言脚本对模型进行配置和裁剪。 我们用Spec Explorer这个名字是因为该工具可以自动探索规格说明(即Specification,简称Spec)的所有潜在行为,并将其行为模型表示为状态机。一次探索的输出有可能非常巨大,所以Spec Read More...
上一篇文章 向大家介绍了我们设计的一套GUI测试工具组,并称之为“Tao项目”,帮助我们更高效地测试软件的用户界面。在这篇文章里,我们将具体介绍Tao的重要组成部分和工作流程。 让我们先看一下Tao项目的工作流程及其三个关键组成部分: 图1. TAO项目的工作流程 一、用户引导的测试用例生成器 对于任何对话框,有经验的软件测试开发工程师都可以很快给出一些标准GUI测试用例。例如,测试一个输入框,你可能创建输入最长和最短字符串的测试用例,或者输入带有特殊字符但匹配正则表达式的字符串,或者输入带有Unicode的字符串。我们将这些经验归纳成知识基础,并输入到测试用例生成器(简称TAG)中,TAG把它们抽象成了模型。然后,用户只需提供最少的引导,TAG会自动完成这些模型的实例化,包括生成GUI状态、GUI操作、和测试准则等,并自动生成测试用例和相应测试用例自动化代码。测试用例自动化代码中包括如何打开对话框,如何发现GUI对象,如何实施GUI操作,GUI对象的输入数据是否合法,以及测试准则等。这些都会输入到自动化框架中,从而执行测试自动化。 Read More...
在前面李敏的 一位软件测试开发工程师的成长体验 中, 她提到了微软的自动化测试. 在软件开发流程中, 这种开发一次、自动执行的测试方法被看作测试领域的尖端技术。 在Wikipedia中对其的定义是: “Test automation is a process of writing a computer program to do testing that would otherwise need to be done manually. Once the testing has been automated, Read More...
如今,几乎所有的商业软件都有一个图形用户界面(GUI)。从用户的角度看,一个直观的功能正确的GUI往往比软件的功能更重要。根据论文“ A Comprehensive Framework for Testing Graphical User Interfaces ” 的统计显示,GUI通常占总代码量的45% - 60%。测试GUI代码对于软件测试开发工程师而言,既独特又富有挑战。 首先,在软件开发周期中,GUI的改变是绝对的,而稳定则是相对的。在用户进行Beta版本的试用时,他们的反馈往往集中在用户体验即GUI上。而与之相对应的是,开发人员也乐意修改这样的问题因为其开销通常相对可以控制。但是,这给测试组带来了极大的挑战。他们不但要确保最小的回归(REGRESSION)风险,而要承担诸如更新测试用例和自动化等额外的工作[2]。 Read More...
对我们的系统和组件进行压力测试是非常重要的。压力测试可以发现很多在正常情况下不会被暴露的问题,也就是说可以发现更多其他测试无法发现的系统缺陷。虽然压力测试和负载测试在某些方面有共同点,但是两者并不相同。负载测试是通过在系统上运行已经定义好的工作负载从而确保系统能够在一定的负载系正常工作。而压力测试是测试系统过载的情况,并帮助回答这样一个问题“什么原因导致了系统错误?” 以下是我曾经参与过的一些压力测试: Windows 客户端的压力测试 在这个系统测试中,我们同时运行许多应用程序,伪应用程序以及测试程序。如果你没有看到过这种情形,你应该去尝试一下。此时,很多子系统会被同时频繁地调用。由于现实中,一个人很难同时做很多事,所以一般Windows用户是很难出现这样的负载。 Read More...
[原文发表地址] 在微软当软件开发测试工程师的故事 [原文发表时间] Tuesday, February 24, 2009 3:45 PM 背景资料:李敏,2005年开始在微软实习,半年后研究生毕业成为正式员工,先后经历了System Center Configuration Manager 2007以及SP1、R2的发布,测试的领域涉及UI测试、AMT feature和安全测试等。这篇博客,是她想分享给大家的一些体会和故事,一来给不熟悉测试工作的读者描绘一下在微软当软件测试开发工程师是怎么回事情,二来“揭秘”一下微软的职业发展体制 Read More...
我们知道所有程序都会和各种资源打交道,硬件资源类型如硬盘,系统资源如句柄,因此如何做好资源相关的测试很重要。大家熟知的是测试资源的泄漏,但这里我想更多的从资源分配失败及恢复角度去谈资源分配测试。 对于资源通常有如下操作: 1.分配资源 我们熟知的一个典型例子就是 C语言中'malloc()' 系列函数。 2.释放资源 同样的一个例子就是C语言中'free()'系列函数。 3.资源计数 比较常见的例子就是性能计数器,比如文件句柄计数器,它能够提供“有多少文件句柄被打开”的信息 我们编写软件的时候,我们一般都会经常使用这些资源管理类函数来帮助我们,从而得以申请和释放多种类型的资源。当然我们也会编写一些自己的代码来申请和释放资源。一般情况下,这些代码会处于我们的软件架构的相对底层上。我们可能有一个系统,在这个系统里,我们分配资源,使用资源,还可能管理并监控资源,最后当处理完后释放掉这些资源。同时还存在着当代码运行时替我们分配资源的情况。 Read More...
在微软做测试开发已经快要两年了,经常会被人问工作压力大不大,测试会不会比较枯燥。而我的回答总是,很有意思,甚至还有点在学校里读书时的感觉。为什么这么说呢?因为在这里做测试开发,不仅仅是完成工作任务,还是一个充满学习和提高机会的过程。 参加Test Mentor Ring就是一个例子。我对Mentor(导师)这个词最早的认识是在刚加入微软的时候。在这里,新员工入职后除了各种培训外,还会有一个一对一的mentor来帮助自己更快地熟悉和掌握这里的工作环境、流程以及产品知识。这对于员工融入新的工作很有帮助。而当我在这里工作一年之后,在一次一对一的谈话中,我的老板又向我介绍了Test Read More...
——介绍微软的 SDET 不一样的 SDET 首先,我要强调的是这篇文章讨论的是微软的 Software Development Engineer in Test ,中文翻译为测试开发工程师,简称 SDET 。不同于以手工或者脚本帮助测试的软件测试工程师 (STE, Software Test Engineer) , SDET 是用编程方法结合正确的测试方法学来确保软件符合正确的设计和用户的需求,这里强调的是用编程语言来设计程序并完成自动化的高效测试。下面我就细说一下我们 SDET 的不同之处。 Read More...
 
Page view tracker