当前位置: 首页 > news >正文

极速网站建设服务商商城网站如何建设方案

极速网站建设服务商,商城网站如何建设方案,小影wordpress主题,自己做自媒体在哪个网站比较好前言 taozs老师画的重点#xff0c;极其重要#xff01;#xff01;#xff01; 25道多选 测试是为了证明这个系统没有bug。 错 测试四象限#xff1a; 单元测试#xff08;工具#xff09;、组件测试#xff08;开发人员做#xff0c;dao层 controller层#xf…前言 taozs老师画的重点极其重要 25道多选 测试是为了证明这个系统没有bug。 错 测试四象限 单元测试工具、组件测试开发人员做dao层 controller层测试驱动开发自动化面向技术 功能测试接口测试主要讲了rest接口 restAssuredcurlpostmanselenium自动化面向业务 探索测试用户验收测试可用性测试面向业务 系统测试性能、压力“非功能性”测试面向技术Jmeter 测试金字塔测试投入比例: unit 接口测试 UI selenium grid: 浏览器的兼容性测试。 cobertura不是静态代码测试工具。 PMDckeck style, findbugs检查字节码 特点。 Sonarqube 测试用例的设计方法 基于直觉和经验的方法名称☆随机测试… 基于输入域的方法等价类划分法边界值分析互补的关系 基于组合及其优化的方法名称解决测试用例过多的问题 基于逻辑覆盖的方法各个覆盖的意思。条件覆盖100% ≠ 分支覆盖100% 测试controller的三种方法new ExampleControllerSpringBootTest意味着要使用真实数据库WebMvcTest HTTP协议四个动词acceptlocation 状态码 testrestTemplate不是使用mockmvc的环境可以构建自己的请求头请求体 curl常用参数 -i -L -v postman提供的功能保存cookiecookie共享断言环境全局变量 restAssured测试rest API可以测试其他语言。Jsonpath验证写测试用例的方式givenwhenthen; docker常用参数 -P -d -e容器与虚拟机的区别 持续集成在合并到版本库之前需要进行构建测试静态单元。分层构建分层级这个层级做单元测试… 快速反馈。 哪些 Jmeter分布式部署selenium可以指定用例数支持time支持ssl支持命令行支持断言; selenium ide selenium与robot framework关系 第一章 序言 软件开发过程 软件工程的发展 敏捷开发 以用户的需求进化为核心采用迭代、循序渐进的方法进行软件开发。力求在最短的周期内开发出产品的核心功能在后续的生产周期内按照新需求不断迭代升级、完善产品。 敏捷关键词 迭代 反馈 XP 极限编程 价值观沟通、简单、反馈、勇气 编程方法结对编程、测试驱动开发、重构、简单设计 迭代前准备阶段 用户故事 3C原则卡片Card、会话Conversation、确认Confirmation 软件开发成本 总成本 开发成本 维护成本 维护成本 理解代码的成本 修改成本 测试成本 部署成本 维护成本 开发成本 迭代开发阶段 第二章 软件测试概念 测试目的 对软件进行充分的测试找到其中的bug并进行修复。√证明代码中没有bug。 ×软件质量功能性、可用性简单安装轻松使用用户界面良好、可靠性、性能、容量、可维护性、兼容性、可扩展性 测试四象限 象限一测试驱动开发关注代码内部质量用户不关注自动化面向技术。 单元测试错误发现的早成本就越低与写功能代码同时进行测试驱动开发黑盒测试等价类划分、边界值分析法、错误推测法、因果图法、功能图法白盒测试逻辑驱动法和基本路径法各种覆盖快速反馈是单元测试的首要目标 驱动和桩驱动模块对底层或子层模块进行测试所编写的调用这些模块的程序桩模块对顶层或上层模块进行测试时所编写的替代下层模块的程序。 组件测试也称为集成测试 非渐增式测试模式先分别测试每个模块再把所有的模块按设计要求放在一起结合成所要的程序 渐增式测试模式把下一个要测试的模块同已经测试好的模块结合起来进行测试测试完以后再把下一个应该测试的模块结合进来测试 象限二更高层的测试关注外部质量和客户需要的功能对设计的软件功能的测试尽量验证业务层的逻辑自动化面向业务。 主要讲了restAssured、curl、postman、selenium 象限三确认需求是不是用户真正需要的是不是错误的理解了需求可能会提出新的需求通常是用户或客户执行可用性测试面向业务手工测试 象限四系统测试现实的计算机环境 性能测试性能指标性能瓶颈、压力长时间超负荷的运行测试系统的性能可靠性和稳定性、容量某项指标的极限值目的有所不同但手段和方法在一定程度上相似 安全性、可靠性在规定条件和规定时间下完成规定功能的能力、容错性异常条件下是否具有防护性等目的不同方法和手段也不同 兼容性测试 测试金字塔 第三章 代码静态测试 分类 静态测试不运行程序本身通过分析或检查源程序的语法、结构、过程等检查程序的正确性 动态测试通过运行程序检查运行结果和预期结果的差异 代码Review QAPlugs工具包 PMD发现代码中无用的变量、空catch块、不必要的对象创建等支持多种语言 findbugs检查java类或者jar文件字节码将字节码与一组缺陷模式进行对比以发现可能的问题只寻找可能存在bug的地方不注重样式或者格式它试图只寻找真正的缺陷或者潜在的性能问题 可解决的问题efficient性能问题、maintainability可维护性、portability可移植性、reliability可靠性、usability可用性 checkstyle代码风格检查例如缩进换行等只支持java SonarQube 自动代码审查工具可检测代码中的错误、漏洞和代码异味等并且能够生成代码审查报告支持多种语言。 问题类型 错误代码bug影响程序运行漏洞有可能被攻击代码异味可以优化不然会影响代码的可维护性 问题级别 BLOCKER阻断影响程序运行CRITICAL严重可能影响程序运行安全MAJOR主要影响开发效率代码质量MINOR次要可能影响开发效率代码质量INFO提示建议 pylintpython中的代码检查工具 sonarlint支持多种语言 第四章 单元测试技术 JUnit基于测试驱动开发的测试框架 规则 测试方法必须用Test注解测试方法必须使用public void进行修饰测试类的包应该与被测试类的包名一致测试单元中的每个方法要能单独独立测试不能相互依赖 注解 BeforeClassstatic修饰方法会在所有方法被调用前执行AfterClassstaticBefore / After在每个测试方法前后各执行一次TestIgnore忽略的测试方法 断言 将程序预期的结果与程序运行的结果进行比较确保对结果的可预知性 Failure and Error Failure一般由断言方法判断失败引起的 Error由代码异常引起的可能是代码本身的错误也可能是测试代码的错误 参数化测试 RunWith(Parameterized.class) 指明运行器Parameterized来运行测试 测试类必须由Parameterized测试运行器修饰 准备数据在提供数据的方法上使用Parameters注解该方法必须为public static该方法返回值必须为Collection该方法没有参数 public class calculatorTest {calculator cal new calculator();private int param;private int result;public calculatorTest(int param,int result) {this.paramparam;this.resultresult;}Parameterspublic static Collection data(){return Arrays.asList(new Object[][] {{2,2},{10,10},{5,5}});}//...Testpublic void test_devide() throws Exception{cal.add(param);assertEquals(result, cal.getresult());} }hamcrest 使测试更具有可读性和可理解性。 mockito 什么是Mock 模拟对象是以可控的方式模拟真实对象行为的假对象 为什么使用Mock 真实对象可能是图形用户界面真实对象可能很难搭建真实对象的行为很难触发真实对象的速度很慢真实对象使用了回调机制… //WebMvcTest SpringBootTest区别 WebMvcTest(ContactController.class) //主要用于controller层测试可以指定控制器类。 SpringBootTest(classes Application.class) //SpringBootTest注解告诉SpringBoot去寻找一个主配置类(例如带有SpringBootApplication的配置类)并使用它来启动Spring应用程序上下文。SpringBootTest加载完整的应用程序并注入所有可能的bean然后再运行测试用例因此速度会很慢会使用真实的数据库cobertura 代码覆盖程度的一种度量不是静态代码测试工具 语句覆盖 所有语句执行一次。 分支覆盖/判定覆盖 覆盖到每一个分支。 条件覆盖 需要度量判定中的每个子表达式结果true/false是否被测试到。 分支覆盖100% ≠ 条件覆盖100% 路径覆盖/断言覆盖 选取足够多的测试数据使程序中的每条可能路径都执行一次。 循环覆盖 度量循环是否执行了零次一次和多余一次循环。 覆盖程度路径覆盖 条件覆盖 分支覆盖 语句覆盖 圈复杂度度量一个方法中执行路径的复杂程度建议不超过10特殊情况不超过15。 计算方式一 圈复杂度 区域数 判定节点数 1 第五章 测试驱动开发 在XP中与测试驱动开发同属于编程方法的还有结对编程重构简单设计测试驱动开发TDD在编写某个功能代码之前先编写测试代码然后只编写可以使测试通过的功能代码通过测试来推动整个开发的进行。 开始新增一个测试运行所有测试发现新的测试不能通过做一些小小的改动运行所有测试且全部通过重构代码以消除重复设计优化设计结构 第六章 软件测试方法 场景法设计测试用例 基本流按照正确的事件流实现的一条正确流程备用流出现故障或缺陷的过程使用备选流加以标注 基于直觉和经验的方法 ☆ 随机测试ALAC测试Act-Like-A-Customer80%的错误很可能集中在20%的程序模块中错误推测法推测可能存在的错误某处出现了错误可能会隐藏更多的错误 基于输入域的方法 等价类划分法将输入域划分为若干部分在每部分中选取具有代表性的数据当做测试用例 无效等价类有效等价类。 边界值分析法对等价类划分法的一种补充测试用例来着于等价类的边界 基于组合及其优化的方法 解决用例太多的问题如何减少用例数用尽量少的用例发现尽量多的问题。 判定表法 条件桩、动作桩、条件项对应条件桩具体的取值、动作项期望对应动作桩的取值 因果图法 基本符号E排他关系最多有一个成立、I或关系不能同时为零、R屏蔽关系a1 — b≠1、O唯一关系有且仅有一个为1 Pairwise配对测试缩减测试用例数量 测试用例间没有交集根据数学统计分析73%的缺陷是由单因子或两个因子相互作用产生的其中单 因子是35%两个因子是38% 配对测试最终剩下的用例数肯定相同但可以有不同的组合。 正交试验法 正交表Ln(m^k)n表示试验次数行数m表示每个因素的水平数每个因素可能出现几种情况k表示列数 测试用例个数 nk(m-1)1* 正交表的两个性质每一列不同数字出现的次数相同任意两列数字的排列方式齐全且相等 基于逻辑覆盖的方法 语句覆盖分支覆盖条件覆盖路径覆盖循环覆盖 基于缺陷模式的测试 Defect-Pattern-Based Testing, DPBT FindBugs 基于模型的测试 第七章 组件测试技术 数据访问层测试 JPA测试DataJpaTest注解只扫描Entity Bean和装配Spring Data JPA存储库默认使用内存数据库 h2 database ActiveProfiles用于指定这个测试类里的测试方式运行时的profiles环境 去除内存数据库 AutoConfigureTestDatabase(replace AutoConfigureTestDatabase.Replace.NONE) //SpringBoot SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.RANDOM_PORT)业务层测试 控制器层测试 三种方式 直接new ExampleControllerWebMvcTest(controllers ExampleController.class)SpringBootTest 第八章 接口测试 微服务架构模式的特征 应用程序分解为具有明确定义了职责范围的细粒度组件完全独立部署独立测试并可复用 使用轻量级通信协议HTTP和JSON松耦合服务实现可使用多种编程语言和技术 将大型团队划分成多个小型开发团队每个团队只负责他们各自的服务 Rest原则 无状态、可缓存、统一接口、客户端-服务端分曾系统、按需编码一个架构符合rest原则则称为RESTful架构。 HTTP **HTTP四种动词get、post、put、delete ** 请求头请求体 Accept客户端可识别的响应内容类型列表客户端可以接受的languageencodingcharset… Cookies Content-Type请求内容的类型 Content-Length 标识请求内容的长度 响应头和响应体 状态码 ​ 1xx表示服务器已接收了客户端的请求客户端可以继续发送请求 ​ 2xx表示服务器已成功接收到请求并进行处理 ​ 3xx表示服务器要求客户端重定向 ​ 4xx表示客户端的请求有非法内容 ​ 5xx标识服务器未能正常处理客户端的请求而出现意外错误 Location服务器返回给客户端用于重定向到新的位置 Keep-Alive 300期望服务端保持连接多长时间秒 TestRestTemplate 不是使用mockmvc的环境可以构建自己的请求头请求体 curl 命令行工具用来请求web服务器。 常用参数 -x指定http请求的代理--cookie / -b 设置cookie-i 打印响应的标头-L 要求客户端重定向让http请求跟随服务器重定向-v 输出通信的整个过程-X 指定http请求的方法-H 添加http请求的标头-d 指定发送参数-u 设置认证的用户名密码… postman 主要功能 保存cookie不同请求间cookie共享断言环境全局变量变量共享… RestAssured 写测试用例的方式 given() ... expect() ... when() ... given() ... when() ... then() ... when() ... then() ... 补consumes application/json 接收参数的形式produces application/json 返回数据的形式 第九章 Docker在测试中的应用 轻量级的虚拟化共用主机内核利用内核的虚拟化技术隔离出一个独立的运行环境拥有独立的一个文件系统网络空间进程空间视图等轻量级、高性能。 容器vs虚拟机 容器是在Linux内核实现的轻量级资源隔离机制虚拟机是操作系统级别的资源隔离容器本质上是进程级的资源隔离 基本命令/参数 docker image ls检测Docker主机中的本地仓库中是否包含镜像docker image pull 是下载镜像的命令-d 后台运行容器并返回容器ID-i : 以交互模式运行容器通常与 -t 同时使用;-t 为容器重新分配一个伪输入终端通常与-i同时使用;-p 指定发布端口映射格式为主机(宿主)端口:容器端口-P 随机端口映射容器内部端口随机映射到主机的高端口-v 绑定一个卷--rm 退出时自动删除容器-M 容器内存的上限docker export 1e560fca3906 ubuntu.tar 导出容器 1e560fca3906 快照到本地文件 ubuntu.tardocker import ubuntu.tar test/ubuntu:v1 将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1 第十章 持续集成 将测试分组先执行较快的测试分层级构建单元 — 组件 — 验收 — 性能可以做到快速反馈。需要在本地构建测试通过了再合并到远程版本库某个用例执行失败不应立即让构建失败等本层级所有用例执行完了之后在失败。环境管理的关键在于通过一个全自动过程来创建环境。交付团队提交到版本控制库自动触发构建测试和单元测试触发自动化验收测试。对每一层部署都要做冒烟测试。部署流水线的实践 只生成一次二进制包使用同样的脚本向所有环境部署对部署进行冒烟测试向生产环境的副本中部署每次变更都要立即在流水线中传递只要有环节失败就停止整个流水线 jenkins post根据流水线或阶段的完成状态运行post部分的操作。stages包含一系列一个或多个 stage 指令, stages 部分是流水线描述的大部分work 的位置。 建议stages 至少包含一个 stage 指令用于连续交付过程的每个离散部分,比如构建, 测试, 和部署。steps部分在给定的 stage 指令中执行的定义了一系列的一个或 多个steps。environment制定一个 键-值对序列该序列将被定义为所 有步骤的环境变量或者是特定于阶段的步骤 这取决于 environment 指令在流水线内的位置。options指定在一个小时的全局执行超时在此之后jenkins将终止流水线运行。 第十一章 Selenium selenium的三部分 driver与浏览器运行在同一系统上 定位元素find_element_by_id、find_element_by_name… 通过链接文本查找超链接find_element_by_link_text… 通过css选择器定位元素find_element_by_css_selector… 通过XPath定位绝对路径 find_element_by_xpath… 强制等待、显示等待、隐式等待 selenium grid Selenium Client WebDriver selenium IDE提供脚本录制、回放、编辑以及元素定位功能。 为什么要自动化 敏捷软件开发迭代频繁地进行周期性交付每次需要跑全部的测试消耗大自动化测试方便做回归测试 第十二章 验收测试框架 Robot Framework Robot Framework与Selenium的关系RF中可以集成Selenium 第十三章 性能测试 Jmeter 分布式部署可以指定用例数支持定时器time逻辑控制器支持ssl支持命令行支持断言 Apdex性能指数
http://www.zqtcl.cn/news/679605/

相关文章:

  • 网站导航条青浦徐泾网站建设
  • 厦门网站建设一般多少钱店铺域名是什么意思
  • 网站关键词搜索排名怎么做雅奇小蘑菇做网站好不好用
  • 手机网站案例建设网站地图素材
  • 企业网站制作比较好的如何设计一个网页首页代码
  • 维护网站成本网站建设进度图
  • asp.net做织梦网站设计手机网站建设
  • 江苏省住房和城乡建设局网站首页北京大型网站制作公司
  • 网站改版工作方案网站设计技能培训
  • 佳木斯市网站建设淄博网站开发招聘
  • 学习软件的网站先备案先建网站
  • 建立网站 知乎常州网站制作机构
  • 洛阳建设网站上海高端室内设计事务所
  • 做高清图的网站wordpress分类自定义文字
  • 创建站点如何做网站如何利用分类信息网站做推广
  • wordpress 拍卖插件找文网优化的技术团队
  • 建站素材网自助餐火锅网站建设
  • 企业型网站建设方案农村电商网站设计与发展现状
  • 建站快车凡科企业网站建设合同(一)
  • 阜平网站建设在广州做seo找哪家公司
  • 怎么做农家乐联盟网站六安建设机械网站
  • 网站开发行业标准江苏网站开发公司
  • 服装技术支持东莞网站建设如何加强企业网站建设论文
  • 中英双语网站怎么做深圳勘察设计协会
  • 用dw做网站维护教程梧州网站建设制作
  • 网站代运营公司有哪些深圳小区封闭最新通知
  • 江西网站设计服务网站开发所需费用明细
  • 深圳网站建设公司jm3q编程网站免费中文版
  • 泉州专门制作网站如何在小红书上做推广
  • 网站改版活动微网站开发一般费用多少钱