zoukankan      html  css  js  c++  java
  • 读《ASP.NET优化》有感 狼人:

    导读:本文转自博客园,作者根据《ASP.NET优化》一书,介绍关于敏捷开发和编程的实质---测试 ,部署以及代码管理。方便开发者的需要。

    以下是文章内容:

    这本书主要是讲ASP.NET优化开发的,里面关于面向对象编程的介绍和ASP.NET的开发介绍可以说在一般的书之上,由于我从来没有涉足过这方面的内容,所以不予很深的评论。但是第十六章,讲了一下测试 ,部署以及代码管理,这方面和我们现在的工程和接近,读着很有感觉。

    现在就来讲讲测试。里面说到“敏捷开发和极限编程的实质之一是基于测试的开发”,也就是说从一开始我们就要开始编写测试用例,在编写code的过程中要边code,边test。书中还讲到了怎样做到这一点。不管上面说的有道理还是没有道理,我们先来看一下测试是什么意思:对软件性能和精度进行测量。也就是测试要达到的目的只是一种测量,于是要求软件的编写达到测试出来的结果的要求。从控制的观点来看这个问题(下图是控制过程的典型图):测试相当于是feedback,

    将数据从输出端返回到输入端,然后根据与输入的差,在controller中进行策略等的修改,最后作用到软件过程中去,得到输出。在重复迭代的过程中,争取到达输入和输出是一致的。输入是软件的目标(需求),输出是软件达到效果。在需求把握正确的前提下,我们正确的使用上述的方法是可以使输出和输入一致的,达到用户的需求。这样的开发过程是完美的。在控制中feedback过程是至关重要的一步,如果不能很正确的返回输出的结果,那么controller不能很好的决策,导致项目的失败。现在来看看什么样的feedback是好的,能表达输出的:

    1.迭代周期,软件开发是一个有周期性的活动。传统的软件开发的一般需要在开发结束后开始测试,然后修改bug,这样周期很长,于是controller做出策略的时候,有很大的延时,这样策略确定的难度和和输出和输入一致的难度大大的加大。敏捷开发过程要求一个迭代周期中一开始就有测试,这样整个循环的周期将大大的减小,于是controller(开发者)可以很快的做出计划的调整,使输出和输入一致,最后满足用户的需求。

    2.准确的反映出输出的实时情况。如果使用传统的测试,不能很准确的反映出输出的情况,因为要测试的项目比较多,比较麻烦,如果某个人出了什么状况,就很难真实的反映出输出的情况。而这种实时行的测试能很好的反映但是输出的情况,因为涉及的内容少,新增的代码少,一旦某个人出了什么状况,也是一天的,明天可能就可以拉回来了。

    上述两点是控制中很重要的环节,现在从控制的角度来看,这种测试方法是能很好的满足开发的需要,及时的使输出和输入一致,最好使软件完成需求。关于写什么代码和怎么写来到达这个效果,可以参见本书十六章。

    原文链接:

    http://www.cnblogs.com/ustc_msra_ase/archive/2011/02/23/1961845.html

  • 相关阅读:
    正则表达式
    文件上传例子
    如何做好数字化体验管理,了解一下?
    云原生背景下故障演练体系建设的思考与实践—云原生混沌工程系列之指南篇
    OpenKruise v1.0:云原生应用自动化达到新的高峰
    Spring Boot Serverless 实战系列“部署篇” | Mall 应用
    阿里云实时数仓Hologres年度发布,解读数仓新趋势
    基于 ASK + EB 构建容器事件驱动服务
    各位 PHPer,Serverless 正当时
    如何在零停机的情况下迁移 Kubernetes 集群
  • 原文地址:https://www.cnblogs.com/waw/p/2187019.html
Copyright © 2011-2022 走看看