欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件测试技术实验指导书版.doc

    • 资源ID:28426305       资源大小:4.57MB        全文页数:113页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件测试技术实验指导书版.doc

    Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date软件测试技术实验指导书2016版软件质量管理实验知道书软件测试技术实验指导书吴鸿韬 河北工业大学计算机科学与软件学院2016年9月目 录第一章 实验要求1第二章 白盒测试实践3第三章 黑盒测试实践6第四章 自动化单元测试实践7第五章 自动化功能测试实践35第六章 自动化性能测试实践56附录1实验报告封皮参考模版71附录2小组实验报告封皮参考模版72附录3软件测试计划参考模版73附录4 测试用例参考模版77附录5单元测试检查表参考模版81附录6测试报告参考模版82附录7软件测试分析报告参考模版87-第一章 实验要求一、实验意义和目的软件测试是软件工程专业的一门重要的专业课,本课程教学目的是通过实际的测试实验,使学生系统地理解软件测试的基本概念和基本理论,掌握软件测试和软件测试过程的基本方法和基本工具,熟练掌握软件测试的流程、会设计测试用例、书写测试报告,为学生将来从事实际软件测试工作和进一步深入研究打下坚实的理论基础和实践基础。本实验指导书共设计了2个设计型、3个验证型实验和一个综合型实验,如表1所示。设计型实验包括白盒测试实践和黑盒测试实践,验证型实验包括自动化单元测试实践、自动化功能测试和自动化性能测试实践,主要目标是注重培养学生软件测试的实际动手能力,增强软件工程项目的质量管理意识。通过实践教学,使学生掌握软件测试的方法和技术,并能运用测试工具软件进行自动化测试。综合型实验以软件设计与编程实践课程相关实验题目为原型、在开发过程中进行测试设计与分析,实现软件开发过程中的测试管理,完成应用软件的测试工作,提高软件测试技能,进一步培养综合分析问题和解决问题的能力。表1 实验内容安排实验内容学时实验性质实验要求实验一 白盒测试实践4设计必做实验二 黑盒测试实践4设计必做实验三 自动化单元测试实践4验证必做实验四 自动化功能测试实践4验证必做实验五 自动化性能测试实践4验证必做实验六、综合测试实践课外综合选做二、实验环境NUnit、JUnit、LoadRunner、Quick Test Professional、VC6.0、Visual Studio 2010、SQL数据库。三、实验过程要求每次实验前详细阅读实验指导书,熟悉实验目的和实验内容,制订测试计划,设计测试用例。实验后整理并提交测试报告,项目结束后要提交测试总结。实验过程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。在指定的实验时间内,必须到实验室内做实验。四、实验成绩评价实验课程的总成绩由实验考勤和实验报告成绩组成,主要是三个方面:(1)上机实验考勤:每次上机应主动在指导老师处签到,冒签等不诚信行为一旦被发现,取消本次实验成绩。如果学生需要请假,必须提前出具正式假条。(2)实验过程考核:每次实验课,指导教师根据实验过程情况,随机抽查,进行当次实验的答辩。(3)实验报告提交:应根据指导教师要求按时提交每次实验的电子版实验报告。实验报告中包含软件测试流程中所需要提交的所有相关文档,附件中给出的相关文档模版的内容和格式仅供参考。如果发现学生抄袭、伪造实验数据,或实验报告和设计报告抄袭、雷同,则涉及的所有学生的该课程实验成绩记为0分。各部分所占比例如表2所示。表2 实验成绩分配表实验内容分值实验考勤10%实验过程10%实验一 白盒测试实践实验报告10%实验二 黑盒测试实践实验报告10%实验三 自动化单元测试实践实验报告20%实验四 自动化功能测试实践实验报告20%实验五 自动化性能测试实践实验报告20%第二章 白盒测试实践一、实验目的1、构建编码规范,依据编码规范进行编码; 2、利用代码审查方法进行单元测试实践;3、掌握白盒测试方法,运用白盒测试方法设计测试用例,进行测试实践;二、实验内容本实验要求采用任一所熟悉的开发语言,依据所构建的编码规则,设计并实现任一给定题目或自选题目(注意:最后给出的是基于对话框的程序),进而利用白盒测试技术设计测试用例,结合代码审查方法,进行单元测试。参考题目1、三角形问题接受三个整数a、b和c作为输入,用做三角形的边。程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形。(说明:三边边长小于200)2、电话号码问题某城市电话号码由三部分组成。它们的名称和内容分别是: 地区码:空白或三位数字; 前 缀:非'0'或'1'的三位数字; 后 缀:4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。3、保险公司计算保费费率的程序某保险公司的人寿保险的保费计算方式为: 投保额×保险费率其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如表2-1所示。表2-1年龄 性别婚姻抚养人数 20-39 40-59 其它 M F 已婚 未婚 1人扣0.5点 最多扣3点(四舍五入取整) 6点 4点 2点 5点 3点 3点5点4、某公司薪水计算程序某软件的一个模块的需求规格说明书中描述,如图2-1所示:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。5、公交一卡通自动充值软件,如图2-2所示图2-1图2-26、两位整数加法计算器图2-37、电子商务网站用户注册功能(推荐)参考任意电子商务网站(如京东,当当等)的用户注册功能,以B/S或C/S架构实现该功能,并应用白盒测试相关理论对其进行测试。三、实验要求1、独立完成;2、提交编码规范,根据编码规范进行程序设计和测试;3、提交源代码,源代码中应包含必要的注释;4、提交测试用例说明书及缺陷报告l       第三章 黑盒测试实践一、实验目的1、 掌握并运用黑盒测试用例设计方法进行测试用例设计,进行测试实践。二、实验内容掌握黑盒测试的基本理论,能够利用白盒测试理论设计测试用例,并在所开发的软件中进行测试。白盒测试技术要求掌握语句覆盖、分支覆盖、路径覆盖等白盒测试用例设计方法。针对实验二所设计并实现的程序,利用多种黑盒测试技术设计测试用例,进行单元测试。本实验要求采用任一所熟悉的开发语言,依据所构建的编码规则,设计并实现任一给定题目或自选题目(注意:最后给出的是基于对话框的程序),进而利用黑盒测试技术设计测试用例,结合代码审查方法,进行单元测试。参考题目1、三角形问题接受三个整数a、b和c作为输入,用做三角形的边。程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形。(说明:三边边长小于200)2、电话号码问题某城市电话号码由三部分组成。它们的名称和内容分别是: 地区码:空白或三位数字; 前 缀:非'0'或'1'的三位数字; 后 缀:4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。3、保险公司计算保费费率的程序某保险公司的人寿保险的保费计算方式为: 投保额×保险费率其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如表2-1所示。4、某公司薪水计算程序某软件的一个模块的需求规格说明书中描述,如图2-1所示:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。5、公交一卡通自动充值软件,如图2-2所示6、两位整数加法计算器,如图2-3所示。7、电子商务网站用户注册功能(推荐)参考任意电子商务网站(如京东,当当等)的用户注册功能,以B/S或C/S架构实现该功能,并应用黑盒测试相关理论对其进行测试。三、实验要求1、独立完成;2、提交测试用例说明书及缺陷报告第四章 自动化单元测试实践一、实验目的1、熟悉NUnit/JUnit/VS2010等自动化测试工具,能熟练应用自动化单元测试工具进行单元测试二、实验内容自动化测试是对手工测试的有益补充,可以通过自动化测试工具提高测试效率,改善软件产品质量。NUnit是为.Net开发环境准备的自动化单元测试框架,JUnit是针对Java语言设计的自动化单元测试工具,它们的作用就是帮助测试人员方便的完成单元测试工作。Visual Studio 2010集成开发环境通过集成Visual Studio Ultimate 2010和VS Test Professional 2010等工具对软件测试提供了强有力的支持,可以创建和管理单元测试,UI测试,web测试,负载测试等。针对实验二所设计并实现的程序,本项目要求根据所设计测试用例,利用NUnit/JUnit/VS2010等自动化测试工具进行自动化单元测试,并给出代码覆盖情况。三、实验要求1、独立完成;2、提交测试脚本3、提交测试代码及缺陷报告。四、NUnit 概述1、Nunit主界面 NUnit是一个单元测试框架,专门针对于.NET来写的.图4-1  NUnit运行的效果图4-2   NUnit运行的另外一个效果 从中我们可以非常容易发现,右边是个状态条,图4-1是红色的,图4-2是绿色的.为什么会这样呢?因为如果所有测试案例运行成功,就为绿色,反之如果有一个不成功,则为红色,但也有黄色的.左面的工作域内则是我们写的每一个单元测试.在右边面板的中间,可以看到测试进度条。进度条的颜色反映了测试执行的状态:· 绿色 描述目前所执行的测试都通过 · 黄色 意味某些测试忽略,但是这里没有失败 · 红色 表示有失败 底部的状态条表示下面的状态: · 状态.说明了现在运行测试的状态。当所有测试完成时,状态变为Completed.运行测试中,状态是Running: <test-name> (<test-name>是正在运行的测试名称)。 · Test Cases说明加载的程序集中测试案例的总个数。这也是测试树里叶子节点的个数。 · Tests Run 已经完成的测试个数。 · Failures  到目前为止,所有测试中失败的个数. · Time  显示运行测试时间(以秒计) File主菜单有以下内容: · New Project允许你创建一个新工程。工程是一个测试程序集的集合。这种机制让你组织多个测试程序集,并把他们作为一个组对待。 · Open 加载一个新的测试程序集,或一个以前保存的NUnit工程文件。 · Close关闭现在加载的测试程序集或现在加载的NUnit工程。 · Save 保存现在的Nunit工程到一个文件。如果正工作单个程序集,本菜单项允许你创建一个新的NUnit工程,并把它保存在文件里。 · Save As允许你将现有NUnit工程作为一个文件保存。 · Reload 强制重载现有测试程序集或NUnit工程。NUnit-Gui自动监测现加载的测试程序集的变化。 2、一些常用属性在NUnit里,有以下几种属性:· Test Fixture · Test TestFixtureAttribute    本属性标记一个类包含测试,当然setup和teardown方法可有可无.(关于setup 和teardown方法在后面介绍) 做为一个测试的类,这个类还有一些限制 · 必须是Public,否则NUnit看不到它的存在. · 它必须有一个缺省的构造函数,否则是NUnit不会构造它. · 构造函数应该没有任何副作用,因为NUnit在运行时经常会构造这个类多次,如果要是构造函数要什么副作用的话,那不是乱了. TestAttribute Test属性用来标记一个类(已经标记为TestFixture)的某个方法是可以测试的.这个测试方法可以定义为:        public void MethodName()从上面可以看出,这个方法没有任何参数,其实测试方法必须没有参数.如果我们定义方法不对的话,这个方法不会出现在测试方法列表中.也就是说在NUnit的界面左边的工作域内,看不到这个方法.还有一点就是这个方法不返回任何参数,并且必须为Public. 例如:  1using System; 2using NUnit.Framework; 3 4namespace MyTest.Tests 5 6  TestFixture 7  public class SuccessTests 8   9    Test public void Test1()10     /*  */ 11  121314在NUnit中,用Assert(断言)进行比较,Assert是一个类,它包括以下方法:AreEqual,AreSame,Equals, Fail,Ignore,IsFalse,IsNotNull,具体请参看NUnit的文档。3、如何在.NET中应用NUnit 第1步.增加一个NUnit框架引用 在Microsoft Visual Studio .NET里创建这个例子时,你需要增加一个NUnit.framework.dll引用,如下: 在Solution Explorer右击引用,然后选择增加引用NUnit.framework组件,在Add Reference对话框中按Select和OK按钮。第2步.为工程加一个类. 为工程加一个Cmp类,作为被测代码。这里是这个例子的代码。  using System;public class Cmp public static int Largest(int list) int index, max=Int32.MaxValue; if (list.Length = 0) throw new ArgumentException("Empty list"); for (index = 0; index < list.Length-1; index+) if (listindex > max) max = listindex; return max; 第3步.建立测试代码 using NUnit.Framework;oTestFixtureopublic class TestLargest oo Testpublic void LargestOf3() Assert.AreEqual(9, Cmp.Largest(new int 8,9,7); Test ExpectedException(typeof(ArgumentException) public void Empty() Cmp.Largest(new int ); o 第4步.编译运行测试. 现在生成solution。成功编译后,开始应用程序。NUnit-Gui,测试程序集的结构如图4-3所示: 图 4-3 测试程序集的测试在 NUnit-Gui中的视图按Run按钮。树的节点变为绿色,而且测试运行器窗口上的进度条变绿,绿色代表成功通过。 ExpectedException 这里是一个验证这个假设的测试.有的时候,我们知道某些操作会有异常出现,例如, 在实例中增加除法,某个操作被0除,抛出的异常和.NET文档描述的一样.参看以下源代码. 1 Test2 ExpectedException(typeof(DivideByZeroException)3public void DivideByZero()45   int zero = 0;6   int infinity = a/zero;7   Assert.Fail("Should have gotten an exception");8除了Test属性之外, DivideByZero方法有另外一个客户属性: ExpectedException. 在这个属性里,你可以在执行过程中捕获你期望的异常类型,例如在本例就是DivideByZeroException.如果这个方法在没有抛出期望异常的 情况下完成了,这个测试失败.使用这个属性帮助我们写程序员测试验证边界条件(Boundary Conditions). Ignore 属性  由于种种原因,有一些测试我们不想运行.当然,这些原因可能包括你认为这个测试还没有完成,这个测试正在重构之中,这个测试的需求不是太明确.但你有不想破坏测试,不然进度条可是红色的哟.怎么办?使用Ignore属性.你可以保持测试,但又不运行它们.namespace ClassLibrary1 using NUnit.Framework; TestFixture public class TestLargest Test public void LargestOf3_1() Assert.AreEqual(9, CMP.Largest(new int 8, 9, 7 ); Test public void LargestOf3_2() Assert.AreEqual(9, CMP.Largest(new int 8, 7, 9 ); Test Ignore ExpectedException(typeof(ArgumentException) public void Empty() CMP.Largest(new int ); Ignore属性可以附加到一个独立的测试方法,也可以附加到整个测试类(TestFixture).如果Ignore属性附加到TestFixture,所有在fixture的测试都被忽略. Category属性 对于测试来说,你有的时候需要将之分类,此属性正好就是用来解决这个问题的。 你可以选择你需要运行的测试类目录,也可以选择除了这些目录之外的测试都可以运行。在命令行环境里 /include 和/exclude来实现。在GUI环境下,就更简单了,选择左边工作域里的Catagories Tab,选择Add和Remove既可以了。 图 4-4 在一个程序员测试中使用 Ignore属性    namespace ClassLibrary1 using NUnit.Framework; TestFixture public class TestLargest Test Category("class2") public void LargestOf3_1() Assert.AreEqual(9, CMP.Largest(new int 8, 9, 7 ); Test Category("class2") public void LargestOf3_2() Assert.AreEqual(9, CMP.Largest(new int 8, 7, 9 ); Test Category("class1") ExpectedException(typeof(ArgumentException) public void Empty() CMP.Largest(new int ); NUnit-GUI界面图4-5使用Catagories属性的界面四、VS2010单元测试1、创建被测代码public class Cmp public static int Largest(int list) if (list.Length = 0) throw new ArgumentException("Empty list"); int index, max = Int32.MinValue; for (index = 0; index < list.Length ; index+) if (listindex > max) max = listindex; return max; 2、创建单元测试图4-6 TestMethod public void TestMethod1() int list = 7, 8, 9 ; int expected = 9; int actual; actual = Cmp.Largest(list); Assert.AreEqual(expected, actual); TestMethod ExpectedException(typeof(ArgumentException) public void Empty() Cmp.Largest(new int ); 2、 运行测试通过“调试”菜单-“开始执行”测试代码,测试结果显示如图所示图4-73、 查看代码覆盖率运行测试并查看代码覆盖率(1)在“解决方案资源管理器”的“解决方案项”下,双击运行配置文件 Local.testsettings。随即出现 “测试设置”对话框。 (2)单击 “数据和诊断”,选中“代码覆盖率”。 图4-8(3)双击“代码覆盖率”,选中被测程序,保存配置文件修改并退出图4-9(4)运行测试(5)“测试”菜单“窗口”,选择“代码覆盖率”,随即打开 “代码覆盖率结果”窗口。 “代码覆盖率结果”窗口中的 “层次结构”列将显示一个节点,该节点包含最新测试运行中得到的所有代码覆盖率数据。展开此节点,得到如图所示代码覆盖率结果图。此表中的列显示了各个方法、类和整个命名空间的覆盖率统计数据。图4-10(6)双击选中的方法,将打开 Class1.cs 源代码文件并定位到 该 方法所在的位置。在此文件中,可以看到代码突出显示效果。用浅蓝色突出显示的代码行已在测试运行中执行过,用浅褐色突出显示的代码行已部分执行过,而用红褐色突出显示的代码行则还没有执行过。可以通过滚动查看此文件中其他方法的覆盖率。图4-11五、Junit框架的使用1、Junit使用方法示例11)把Junit引入当前项目库中新建一个 Java 工程coolJUnit,打开项目coolJUnit 的属性页 -> 选择“Java Build Path”子选项 -> 点选“Add Library”按钮 -> 在弹出的“Add Library”对话框中选择 JUnit(图3-15),并在下一页中选择版本 Junit 4 后点击“Finish”按钮。这样便把 JUnit 引入到当前项目库中了。图4-12 为项目添加 JUnit 库2)新建单元测试代码目录单元测试代码是不会出现在最终软件产品中的,所以最好为单元测试代码与被测试代码创建单独的目录,并保证测试代码和被测试代码使用相同的包名。这样既保证了代码的分离,同时还保证了查找的方便。遵照这条原则,在项目 coolJUnit 根目录下添加一个新目录 testsrc,并把它加入到项目源代码目录中。(见 图4-13、4-14)。图4-13 新建测试代码目录图4-14 添加测试代码目录3)在工程中添加类添加类SampleCaculator,类中有两个方法,分别计算加减法。编译代码。package cn.edu.gzhu;public class SampleCalculator /计算两整数之和public int add(int augend, int addend)return augend + addend;/计算两整数之差public int subtration(int minuend, int subtrahend)return minuend - subtrahend;4)写单元测试代码为类SampleCalculator添加测试用例。在资源管理器SampleCalculator.java文件处右击选new>选Junit Test Case(见图4-15),Source foler选择testsrc目录,点击next,选择要测试的方法,这里把add和subtration方法都选上,最后点finish完成。图4-15 新建测试用例Junit自动生成测试类SampleCalculatorTest,修改其中的代码。其中assertEquals断言,用来测试预期目标和实际结果是否相等。assertEquals( Sting message, expected, actual ) expected是期望值(通常都是硬编码的),actual是被测试代码实际产生的值,message是一个可选的消息,如果提供的话,将会在发生错误时报告这个消息。 如想用断言来比较浮点数(在Java中是类型为float或者double的数),则需指定一个额外的误差参数。 assertEquals(Sting message, expected, actual, tolerance)其它断言参见课本和参考书介绍。测试方法需要按照一定的规范书写:1. 测试方法必须使用注解 org.junit.Test 修饰。2. 测试方法必须使用 public void 修饰,而且不能带有任何参数。package cn.edu.gzhu;import static org.junit.Assert.*;import org.junit.Test;public class SampleCalculatorTest SampleCalculator calculator = new SampleCalculator();Testpublic void testAdd() int result = calculator.add(50, 20);assertEquals(70,result);Testpublic void testSubtration() int result = calculator.subtration(50, 20);assertEquals(30,result);5)查看运行结果在测试类上点击右键,在弹出菜单中选择 Run As JUnit Test。运行结果如下图,绿色的进度条提示我们,测试运行通过了。图4-16 示例1运行结果2、Junit使用方法示例21)在工程中添加类类WordDealUtil中的方法wordFormat4DB( )实现的功能见文件注释。package cn.edu.gzhu;package cn.edu.gzhu;import java.util.regex.Matcher;import java.util.regex.Pattern;public class WordDealUtil /* * 将Java对象名称(每个单词的头字母大写)按照 * 数据库命名的习惯进行格式化 * 格式化后的数据为小写字母,并且使用下划线分割命名单词 *例如:employeeInfo 经过格式化之后变为 employee_info * param name Java对象名称 */public static String wordFormat4DB(String name)Pattern p = Ppile("A-Z");Matcher m = p.matcher(name);StringBuffer strBuffer = new StringBuffer();while(m.find()/将当前匹配子串替换为指定字符串,/并且将替换后的子串以及其之前到上次匹配子串之后的字符串段添加到一个StringBuffer对象里m.appendReplacement(strBuffer, "_"+m.group();/将最后一次匹配工作后剩余的字符串添加到一个StringBuffer对象里return m.appendTail(strBuffer).toString().toLowerCase();2)写单元测试代码package cn.edu.gzhu;import static org.junit.Assert.*;import org.junit.Test;public class WordDealUtilTest Testpublic void testWordFormat4DB() String target = "employeeInfo"String result = WordDealUtil.wordFormat4DB(target);assertEquals("employee_info", result);3)进一步完善测试用例单元测试的范围要全面,如对边界值、正常值、错误值的测试。运用所学的测试用例的设计方法,如:等价类划分法、边界值分析法,对测试用例进行进一步完善。继续补充一些对特殊情况的测试:/测试 null 时的处理情况Test public void wordFormat4DBNull()String target = null;String result = WordDealUtil.wordFormat4DB(target);assertNull(result);/测试空字符串的处理情况Test public void wordFormat4DBEmpty()String target = ""String result = WordDealUtil.wordFormat4DB(target);assertEquals("", result);/测试当首字母大写时的情况Test public void wordFormat4DBegin()String target = "EmployeeInfo"String result = WordDealUtil.wordFormat4DB(target);assertEquals("employee_info", result);/测试当尾字母为大写时的情况Test public void wordFormat4DBEnd()String target = "employeeInfoA"String result = WordDealUtil.wordFormat4DB(target);assertEquals("employee_info_a", result);/测试多个相连字母大写时的情况

    注意事项

    本文(软件测试技术实验指导书版.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开