2008.11.01 / 标签:
软件测试 / 分类:
网络拾遗
评价一个网站的各项指标能否达到预期的要求,通常我们会对这个网站进行Web测试。进行Web测试的过程大致如下。
1.创建Web测试。在我们要测试的页面上进行有需求的操作,然后记录整个过程。
2.运行Web测试。添加测试条件,比如设置在页面中希望得到的文本、页面的最大响应时间等。
3.观察Web测试结果。测试成功和失败都有不同的标记,我们查看失败记录的详情,从结果中找出失败的原因,以便及时修改我们的网站。
为了测试我们的网站发布后,在多个用户同时访问的情况下,页面的性能是否达到预期的指标,我们使用负载测试。负载测试可以模拟数十、数百、数千个用户在一段时间内同时访问网站时,我们网站的性能。进行负载测试的过程大致如下。
1.创建负载测试。可以添加想要测试的任何Web测试或单元测试。可以把多个Web测试放在一起进行负载测试。
2.运行负载测试。模拟我们的网站在一段时间内,多个用户同时访问的情况下网站的响应情况。
3.观察负载测试结果。通过测试结果,我们可以得出模拟多用户同时访问下网站的各项指标情况,如用户负载、吞吐量、平均响应时间等。
单元测试可以实现对系统中某个类或方法等进行测试,以便检查其能否得到预期的结果。但是当对发布的网站,或者对其他服务器上的网站进行整体测试,如果要测试从一个页面进入另一个页面的平均响应时间等情况时,单元测试就变得束手无策了。为此,微软提出了在ASP.NET下进行Web测试。
Web测试用于测试Web应用程序的功能,可以确定开发中的网站是否满足各项性能指标要求。
“Web测试”也称为声明性Web测试,它由一系列HTTP请求组成。Web测试通过发出HTTP请求在协议层工作。
使用Web测试的主要目的可以分为以下几个方面。
1.创建Web应用程序的功能测试。
2.创建数据驱动测试。
3.创建并运行可以测试应用程序性能的测试。
4.使用.NET语言进行测试创作、调试和测试扩展。
Web测试可自动处理如下HTTP操作:
1.VIEWSTATE的隐藏字段相关性。
2.重定向。
3.从属请求。
4.身份验证。
5.通过HTTPS/SSL确保安全。
负载测试的主要目的是模拟许多用户同时访问一台服务器的情况。它由一系列Web测试或单元测试组成,这些测试在存在多个模拟用户的情况下运行一段时间以解析出测试结果。负载测试可用于以下几种不同的测试类型。
1.冒烟测试:确定在段时间内负载较小时应用程序如何执行。
2.压力测试:确定在较长时间内负载较大时应用程序是否能成功运行。
3.性能测试:确定应用程序的响应能力。
4.容量计划测试:确定在各种容量下应用程序如何执行。
2008.09.26 / 标签:
软件测试 / 分类:
网络拾遗
1.黑盒测试(Black-box Tesing)
黑盒测试又称功能测试、数据驱动测试或基于规格说明书的测试。注重于测试软件的功能性需求。
采用这种测试方法,测试者把被测程序看成一个黑盒子,完全不要考虑程序的内部结构和特性,只知道该程序输入和输出之间的关系或程序功能,依靠能够反映这一关系和程序功能的需求规格说明书,来自确定测试用例和推断测试结果的正确性。例如:Windows计算其程序,我们如果输入3.14159并按sqrt键,就会得到结果1.772453102341。使用黑盒子测试方式,不管软件计算圆周率的平方根要经历多少复杂运算,只关心他的运行结果。
2.白盒测试(White-box Tesing)
白盒测试又称结构测试、逻辑驱动测试或基于程序本身的测试。测试者把被测程序看成一个盒子,而这个盒子是打开着的,以程序的内容来设计测试数据。采用这种测试方法,测试人员对被测试程序的内部结构是清楚的。从程序的内部逻辑结构入手,按照一定的原则设计测试用例,对软件的逻辑路径进行测试,在程序的不同点检查程序的状态,来判定其实际情况是否和预期的状态相一致。
白盒测试要求对某些程序的结构特性做到一定程度的覆盖,或者说是“基于覆盖率的测试”,并以此为目标,引导我们朝着提高覆盖覆盖率的方向努力,找出那些已被忽视的程序错误。最常见的程序结构覆盖有:
1)语句覆盖:程序中每一条语句至少被执行一次,这是最弱的逻辑覆盖准则。
2)分支覆盖或判断覆盖:程序中的每一个分支至少走查一次,即每一条分支语句的真值执行一次,假值也执行一次。
3)条件覆盖:当判定式中含有多个条件时,要求每个条件的取值均得到检验。
4)判断/条件覆盖:同时考虑条件的组合及判定结果的检验。
5)路径覆盖:使程序延所有可能的路径执行。
2008.09.21 / 标签:
软件测试 / 分类:
网络拾遗
软件测试活动包括:制定测试计划、测试设计和开发、执行测试、评估测试。那么这些活动的具体内容包括什么呢?下面我们来分别说明。
阅读全文>>
2008.09.18 / 标签:
软件测试 / 分类:
网络拾遗
可能你人会认为软件测试和软件调试一回事,然而实际上测试与调试有着本质的区别。
简而言之,测试的主要工作是找缺陷,而调试的目的是为了解决缺陷。
具体而言,软件调试是在进行了成功的软件测试后才开始的工作。软件调试与软件测试不同,软件测试的目标是尽可能多的发现软件中的错误,而进一步诊断和改正程序中潜在的错误才是调试的任务。通常,调试工作是一个具有很强技巧性的工作。一个软件开发人员在分析测试结果的时候会发现,软件运行失效或出现问题,往往只是潜在错误的外部表现,而外部表现与内在原因之间常常没有明显的的联系。如果要找出真正的原因,排除潜在的错误,不是一件易事。因此,调试是通过现象,找出原因的一个思维分析的过程。
2008.09.15 / 标签:
软件测试 / 分类:
网络拾遗
在软件开发生命周期中,开发阶段随后便是测试阶段。在测试阶段将测试编写的程序是否符合用户需求所要求的逻辑要求、技术要求和设计规范,并用不同的方法来测试开发过程中各阶段的可交付产品。
阅读全文>>