精华内容
下载资源
问答
  • 老生常谈之文档规范怎么写

    千次阅读 2013-11-18 14:33:59
     按照需求,将软件逐级细化,分解为不必再分解的的模块,每个模块完成一定的功能,为一个或多个父模块服务(即接受调用),也接受一个或多个子模块的服务(即调用子模块)。模块的概念,和编程语

    1. 产品需求定义

    产品需求定义的目标是:“清楚地描述要做的产品是什么样的?不涉及具体实现方法。”,其定义过程如下图所示。

     

     此产品需求定义包括:软件+硬件

     

    2. 结构化设计方法的基本思路

        按照需求,将软件逐级细化,分解为不必再分解的的模块,每个模块完成一定的功能,为一个或多个父模块服务(即接受调用),也接受一个或多个子模块的服务(即调用子模块)。模块的概念,和编程语言中的子程序或函数是对应的。

     

    3. 架构设计/概要设计

           架构设计或概要设计的目标是:“为系统需求或产品需求提供解决方案”。

           概要设计:把软件按照一定的原则分解为模块层次,赋予每个模块一定的任务,并确定模块间调用关系和接口。通常输出的为:“软件结构图”。 

           在架构设计或概要设计,设计者会大致考虑并照顾模块的内部实现,但不过多纠缠于此。主要集中于:

           (1)划分模块

           (2)分配任务

           (3)定义调用关系

            模块间的接口与传参在这个阶段要定得十分细致明确,应编写严谨的数据字典,避免后续设计产生不解或误解。概要设计一般不是一次就能做到位,而是反复地进行结构调整。典型的调整是合并功能重复的模块,或者进一步分解出可以复用的模块。在概要设计阶段,应最大限度地提取可以重用的模块,建立合理的结构体系,节省后续环节的工作量。

            概要设计文档最重要的部分是:

            (1)分层数据流图

            (2)结构图

            (3)数据字典

            (4)相应的文字说明

            以概要设计文档为依据,各个模块的详细设计就可以并行展开了。

    4.详细设计

           详细设计的目标是:“提供编码的依据(数据结构+流程)”。

           详细设计:依据概要设计阶段的分解,设计每个模块内的算法、流程等。通常采用“流程图”进行描述。 

           在详细设计阶段,各个模块可以分给不同的人去并行设计。在详细设计阶段,设计者的工作对象是一个模块,根据概要设计赋予的局部任务和对外接口,设计并表达出模块的以下内容:

            (1)算法

            (2)流程

            (3)状态转换(状态机)

            注意:如果发现有结构调整(如分解出子模块等)的必要,必须返回到概要设计阶段,将调整反应到概要设计文档中,而不能就地解决,不打招呼。

            详细设计文档最重要的部分是模块的以下内容:

            (1)流程图

            (2)状态图

            (3)局部变量及相应的文字说明。

            一个模块一篇详细设计文档。

           概要设计文档相当于机械设计中的装配图,而详细设计文档相当于机械设计中的零件图。概要设计中较顶层的部分便是所谓的方案。方案文档的作用是在宏观的角度上保持设计的合理性。

            有的项目采用面向对象的分析、设计方法。可能在概要设计、详细设计的分工上疑问更多。其实,面向对象的分析、设计方法并没有强调结构化方法那样的阶段性,因此一般不引入概要、详细设计的概念。如果按照公司的文档体系,非要有这种分工的话,可以将包的划分、类及对象间的关系、类的对外属性、方法及协作设计看做概要设计;类属性、方法的内部实现看做详细设计。

      

    5. 需要分析&概要设计&详细设计 

       1)需求分析:产生软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作(概要设计)。


       2)概要设计:产生软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且需要指出关键技术难点等。  


       3)详细设计:产生软件详细设计说明书,对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完成,然后在集成,是具体的实现细节。理论上要求可以照此编码。

    6. 瀑布模型

    瀑布模型如下图所示:

     

    1)可靠性研究与计划:做还是不做

    2)需求分析:都有什么功能

    3)概要设计:共有多少子功能

    4)详细设计:子功能怎么实现

    5)编码:子功能实现了吗?

    6)测试:功能完备吗?

    7)部署:需要多少设备和软件的支持

    8)维护:软件运动得正常吗?

    展开全文
  • 用例该怎么写?重点在哪?项目急来不及写用例怎么办?下面分享自己的思路,欢迎探讨。。 问:拿到技术文档该如何下手,如何建立测试用例树。 通读文档,明确产品的核心点(核心需求是什?和竞品比优势体现在哪?...

    刚开始工作的朋友,会和我一样有不少的困惑!用例该怎么写?重点在哪?项目急来不及写用例怎么办?下面分享自己的思路,欢迎探讨。。

     

    问:拿到技术文档该如何下手,如何建立测试用例树。

    • 通读文档,明确产品的核心点(核心需求是什?和竞品比优势体现在哪?盈利的点在哪?)。
    • 要有测试计划/测试大纲;先抓产品的主干,按模块或界面区分;后面再补齐各主要模块的测试项。
    • 产品的需求/功能,分解输出测试项时,既要考虑程序逻辑,同时要有业务场景的考量。
    • 功能用例和性能用例、自动化的。最好区分开来方便管理。
    • 程序中的共享模块(数据共享等)写用例时需要标注出来做统一规划。
    • 程序中的复用模块,标注出来做统一规划。(代码复用,比如各界面的报表,很多都是一样的代码)
    • 业务流程标注出来做统一规划。(产品有多少重要业务是由产品的核心需求决定的)

     

    问:好的测试用例是怎么样的?

    • 覆盖率----核心需求全部覆盖;功能点基本要包含完;对业务产生影响的场景尽可能多的考虑到。(无法量化,看项目实际需要。)
    • 易执行----一个测试点一条用例;用例的执行步骤,预期结果明确。
    • 可读性----用词规范,字体版面一致,清晰确切;保证他人能容易阅读,使用;(公司的用例,需要评审,其他测试交叉测试使用)
    • 复用性----复用性高;复用模块只需稍作修改即能使用;利用率高,回归测试时,需求改动不大时用例稍作修改即能使用。
    • 自动化----用例书写一开始就考虑,在需要进行自动化测试时能很快的转变(自动化进行的少,摸着的石头过河。。。。。)

    问:需求/功能分解,写测试用例的方法有那些?

    • 输入/数据---等价类划分法
    • 输入/数据---边界值选取法
    • 条件和结果--因果图法
    • 条件和结果--判定表法
    • 场景--------场景法
    • 功能随数据--状态迁移法
    • 数据很多----正交实验法

    了解更多测试知识访问如下链接:

    https://edu.csdn.net/course/detail/22948

    https://edu.csdn.net/lecturer/3215

    https://edu.csdn.net/course/detail/30898

    https://edu.csdn.net/course/detail/25768

     

    展开全文
  • 基本的自动测试有哪些? 1.单元测试:直接测试代码的逻辑,一个函数或一个模块都可以是一个单元。...能让开发者集中精力在开发项目上,而不是测试代码,也能减少沟通客户、产品、开发之间的沟通成本。 2.验

    基本的自动化测试有哪些?

    1.单元测试:直接测试代码的逻辑,一个函数或一个模块都可以是一个单元。

    单元测试分两种形态:

    a. TDD(Test-Driven Development 测试驱动开发):在开发功能代码之前,先编写测试代码。可以帮助客户和程序员明确需求,

    b. BDD(Behavior Driven Development 行为驱动开发):通过自然语言书写不是程序员也可以看懂的测试语言。能让开发者集中精力在开发项目上,而不是写测试代码,也能减少沟通客户、产品、开发之间的沟通成本。

    2.验收测试:用脚本控制浏览器来触发web程序的功能,测试程序界面和功能。

     

    如何选择web自动化测试工具?

    就像是编程语言等互联网技术百花齐放一样,WEB自动化测试工具也是多种多样的,那么作为自动化测试的初学者如何去选择自动化测试工具呢?

     

    选择的标准如下:

    1、适合自己产品需要自动化测试代替的需求

    2、要有技术讨论或者直接沟通解决的渠道(论坛、技术交流群)

    3、要有稳定运行的能力

    4、工具提供商具有持续开发的能力

    5、显著提高测试效率

    6、支持主流的编程语言(Java、Python)

    7、支持主流浏览器(谷歌、IE、火狐等)

     

    web自动化测试工具有哪些?

     

    1.Selenium

    SELENIUM 家族成员有:SELENIUM, SELENIUM RC, SELENIUM IDE, SELENIUM CORE, SELENIUM GRID 和 SELENIUM ON RAILS。

     

    Selenium可能是Web应用程序最流行的开源测试自动化框架。 Selenium始于二十一世纪,经过十多年的发展,已成为Web自动化测试人员的首选自动化框架,尤其适用于拥有高级编程和脚本编写技能的人员。 Selenium已成为其他开源测试自动化工具的核心框架,如Katalon Studio,Watir,Protractor和Robot Framework。

    Selenium支持多种系统环境(Windows,Mac,Linux)和浏览器(Chrome,Firefox,IE和Headless浏览器)。 它的脚本可以用各种编程语言编写,如Java,Groovy,Python,C#,PHP,Ruby和Perl。

    虽然测试人员可以灵活地使用Selenium,他们可以编写复杂的高级测试脚本来满足各种复杂程度,但它需要高级编程技能和工作来构建自动化框架和库以满足特定的测试需求。

     

    2.WATIR

     WATIR另一个在国外非常流行的自动化测试框架, WATIR 是 WEB AUTOMATION TESTING IN RUBY的缩写, Bret Pettichord 是这个开源项目的主要开发人员, 相信大家读过他的著作《Lessons learned in Software Testing》。 经过一段时间的开源开发, 现在BRET 和他的合伙人PETE开一家公司叫WATIR CRAFT, 提供商业支持但是不能提供特殊的商业支持和功能, 就WATIR 的功能吧, WATIR 一开始只可以在WINDOWS 上运行,而且只可以测试IE, 不过现在好象是可以测试FIREFOX 和 SAFARI 了。WATIR 只可以用RUBY 来写。

     

    3.Katalon Studio

    Katalon Studio是一款功能强大的测试自动化解决方案,适用于Web应用程序,移动和Web服务。 基于Selenium和Appium框架构建,Katalon Studio利用这些解决方案实现集成软件自动化。

    该工具支持不同级别的测试技能。 非程序员可以轻松地启动自动化测试项目(比如使用Object Spy来记录测试脚本),而程序员和高级自动化测试人员可以节省构建新库和维护脚本的时间。

     

    4.UFT

    统一功能测试(UFT)是一种众所周知的功能测试商业测试工具。 它为跨平台的桌面,Web和移动应用程序的API,Web服务和GUI测试提供了全面的功能集。 该工具具有先进的基于图像的对象识别功能,可重复使用的测试组件和自动化文档。

    UFT使用Visual Basic Scripting Edition来注册测试进程和对象控制。 UFT与Mercury Business Process Testing和Mercury Quality Center集成在一起。 该工具通过与Jenkins等CI工具集成来支持CI。

     

    5.IBM Rational Functional Tester

    IBM RFT是一个用于功能和回归测试的数据驱动测试平台。 它支持广泛的应用程序,如.Net,Java,SAP,Flex和Ajax。 RFT使用Visual Basic .Net和Java作为脚本语言。 RFT具有称为故事板测试的独特功能,其中用户对AUT的操作通过应用程序屏幕截图以故事板格式记录和可视化。

    RFT的另一个有趣特性是它与IBM Jazz应用程序生命周期管理系统(如IBM Rational Team Concert和Rational Quality Manager)的集成。

     

    6、Dragontesting

    Dragontesting(龙测)是基于测试+AI的产品线涵盖Web、手机App应用(安卓/苹果)、微信小程序/公众号、PC应用,采用全球领先的测试代码生成器技术,突破“手工编写测试代码”的难点,实现了业务流程的全覆盖、路径自动分析、快速生成基于UI的测试代码、自动运行并生成测试报告等功能,达到快速、高效、低成本的测试目的。通过搭积木图,自动生成流程图,代码测试用例一键生成,显著提高了测试效率,一些大公司像东软集团、红星美凯龙、中国电信等也在使用。

    龙测是可以在线注册体验测试的,http://www.dragontesting.cn

     

    7、TestComplete

    SmartBear的TestComplete是一个功能强大的商业测试工具,适用于Web,移动和桌面测试。 TestComplete支持各种脚本语言,如JavaScript,VBScript,Python和C ++ Script。 与Katalon Studio一样,测试人员可以使用TestComplete执行关键字驱动和数据驱动的测试。 该工具还提供易于使用的录制和播放功能。

    与UTF一样,TestComplete的GUI对象识别功能可以自动检测和更新UI对象,这有助于减少AUT更改时维护测试脚本的工作量。 它还在CI过程中与Jenkins集成。

     

    展开全文
  • 工作中越来越觉得模块化的重要,有些功能提出来更便于今后重用,于是从今天起,工作中模块化的东西我会把他们提出来,也方便大家参考学习。现在的技术和前端博客貌似都喜欢在文章前面配个抬头图。那么我以后也配...

    工作中越来越觉得模块化的重要,有些功能提出来更便于今后重用,于是从今天起,工作中写的模块化的东西我会把他们提出来,也方便大家参考学习。现在的技术和前端博客貌似都喜欢在文章前面配个抬头图。那么我以后也配吧,另外我承认今天的头图风格抄自腾讯CDC(这种wp风格的东西怎么巨不搭啊~)。

    在工作中经常会做一些巨长无比的页面,这些页面包括产品列表页,或者SNS的好友信息列表等等。当用户将页面向下拉动的时候,用户发现,页面怎么这么长,怎么拉不完呢?化用小饭小说的一句话说“你能把页面写出来,我没理由看不完的啊”。当这个页面高度超过5000px,用户就受不了啦,他被自己1024*768的lcd显示器刺痛了双眼,从而失去了自己当前的focus(焦点),这时候她为了搞清楚自己的focus,就想:“bless me回到页面头部吧!”,按鼠标的手向右寻找,找到了他IE右边的scrollbar。这种事情时常发生。所以很多程序员朋友浏览网页使用键盘的pagedown或者向下按键去翻页。这样他就比较清楚自己的位置。快捷键是上帝赐给人类的礼物,有些人没有这种礼物,于是无所不晓的前端开发者们在曾几何时说了:“要有返回顶部跟随页面滚动的按钮。”于是这种按钮出现了,出现在淘宝的宝贝列表里,出现在SNS好友信息的列表里。

    言归正传,先贴最终效果:

    需求:

    1 页面scrollTop为0的时候不显示此按钮,下拉页面后渐显,上拉页面回到页面头部后渐隐,并跟随页面拉动处在页面右边固定位置。

    2 网上大多代码都是相对window定位来个fixed,我们的需求不要他fixed,而要相对外层container定位,从而可以紧靠container右端,而不至于调整浏览器宽度时致使此按钮浮动在页面内容之上。

    3 兼容所有当前要照顾的浏览器,包括ie6。

    需要准备的工具:

    电脑一个,jQuery库一个

    img素材:

    先让我们写HTML吧

    
    
    <div id="container">
    </div>

    是不是很简单呢,CSS也不是很复杂,.go-top是按钮的容器,absolute的定位是针对他外面的relative的,这个relative会通过js加在id为container的容器上。right:-30px保证这个东西出现在container容器的右端,a的cursor和outline仅作装饰作用,当然你也可以加个background啊什么的,以你觉得好看为准:

    
    
    .go-top{ width:25px; height:65px; position:absolute; right:-30px;}
    .go-top a
    { display:block; cursor:pointer; outline:none;}

    写JS是关键的部分,主要用到的方法就是个scroll()吧,使用这个东西能够让页面随着你的鼠标滚动而动态改变go-top距页面顶端(准确说是body或html顶端)的距离:

    代码
    
    
    $(function(){
    var topDistance = 450;//go-top距顶端距离
    var showDistance = 1;//距离顶端多少距离开始显示go-top
    var gotopCon = "<div class='go-top'><a href='#'><img src='images/gotop.gif' /></a></div>"
    var thisTop = $(window).scrollTop() + topDistance;
    $(
    "#container").css("position","relative");
    $(
    "#container").append(gotopCon);
    $(
    ".go-top").css("top",thisTop);
    if($(window).scrollTop() < showDistance){
    $(
    ".go-top").hide();
    }
    $(window).scroll(
    function(){
    thisTop
    = $(this).scrollTop() + topDistance;
    $(
    ".go-top").css("top",thisTop);
    if($(this).scrollTop() < showDistance){
    $(
    ".go-top").fadeOut("fast");
    }
    else{
    $(
    ".go-top").fadeIn("fast");
    }
    });
    $(
    "a",".go-top").click(function(){
    $(
    "html").animate({scrollTop:0},"fast");//IE,FF
    $("body").animate({scrollTop:0},"fast");//Webkit
    return false;
    });
    });

    转载来自:http://www.cnblogs.com/bienfantaisie/archive/2010/09/16/1828331.html

    转载于:https://www.cnblogs.com/gxldan/archive/2011/10/11/4066747.html

    展开全文
  • 工作中越来越觉得模块化的重要,有些功能提出来更便于今后重用,于是从今天起,工作中模块化的东西我会把他们提出来,也方便大家参考学习。现在的技术和前端博客貌似都喜欢在文章前面配个抬头图。那么我以后也配...
  • <div><h1>Vue 项目架构设计与工程实践 转载文章请注明出处,谢谢 https://github.com/berwin/Blog/issues/14</p> 文中会讲述我从0~1搭建一个前后端分离的vue项目详细过程 <p>Feature: * 一套很实用...
  • 前阵子重构了一个挺有意思的项目,是一...callback也不要了,全换成promise,async、await也用起来,反正怎么爽怎么写。 问PM浏览器最低兼容到哪个版本,PM说兼容公司各个产品所兼容的最低版本就行。和公司各个产品
  • 秉承“简单、易用、专业”的产品理念,极大的降低报表开发难度、缩短开发周期、节省成本、解决各类报表难题。 领先的企业级Web报表软件,采用纯Web在线技术,专注于解决企业报表快速制作难题。 永久免费使用 专注于...
  • 大家在玩游戏时,通常都会看到分享的功能,最常见的是分享到微信朋友圈、qq空间或者新浪微博,产品经理通常称这个功能模块为社会。那这个功能在unity3d制作的游戏中怎么做到的呢?以前的老做法是按照对应的ios、...
  • 如何快速熟悉一个老项目

    千次阅读 2017-08-31 22:57:52
    了两个简单功能,做了一个比较复杂的功能。基本上也熟悉了一些内容了。作为思考怎么让自己更快的熟悉项目。 先玩游戏本身 正常情况下,玩到一定级大部分的功能就熟悉了,对关键模块的内容就了解了。 根据产品组成...
  • Linux Kernel

    2020-11-29 23:02:15
    将版本A中的驱动ko,通过在内核加载完成后再启动脚本中插ko的方式,实现内核版本A的产品功能。 存在的问题: 内核版本A中的哪些功能需要移植到版本C中呢 驱动模块的加载顺序和依赖关系怎么确定,(以mtd为例,...
  • 如何阅读linux c开源项目呢?...3. 看这个软件的一些设计细节,比如怎么模块化划分,主要用到什么数据结构和算法,这时候可以试着编译运行; 看configure.ac, Makefile.am之类的文件啊,它们才是手写的。除非要研究a
  • 组件对前端来讲已是家常便饭,各种功能效果实现之后,冷不防产品又想让在另一个模块调用。简单,Ctrl + c + v一通操作,几十遍几十上百行代码不嫌烦的话完全OK的哈~。像我这么懒的人肯定是要利用组件一劳永逸哇。...
  • 若你作为一名管理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁一份报告阐明你的理由,切记:副总裁不喜欢报告长度 超过一页(B5)。 参考答案提示: 应先简述瀑布模型的缺点,它已不...
  • 功能一体表现在以下两个方面 支持多媒体数据类型,用户在建表时可直接使用。系统在处理常规数据与 多媒体数据时达到了四个一体:一体定义、一体存储、一体检索、一体处理,最大限 度地提高了数据库...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    用例只描述参与者和系统在交互过程中做些什么,并不描述怎么做。 用例图 关联关系 用例图 泛化关系 用例图 泛化关系 用例图 用例图 用例图 用例用于什么情况? 不知道什么情况不用用例 如果没有用到用例,...
  • asp.net知识库

    2015-06-18 08:45:45
    Coalesys PanelBar + R.a.d Treeview +Xml 构建的Asp.net 菜单和权限管理模块 突破屏蔽限制,自己的网站使劲弹新IE窗口 对页面SCROLLING的CSS不能生效原因 .Net 中IE使用WinForm控件的使用心得。 动态加载用户控件的...
  • ARM的硬件多半已经模块化了,像我这样把板子改成这样的就算动的多的了,这同样是ARM公司的战略,再次佩服。 实际中的LINUX的开发工作更多,更耗时。从这方面说ARM应该算是软件了。 在找工作中更是这样,举个例子,...
  • 枸杞的由来和技术栈

    2021-01-02 15:11:32
    可以负责任地说这个功能完全可以把类型和定义的时间全都给挣回来。 良好的社区和开发计划 只要稍微关注一下 TypeScript 的 issue,released note 就不难发现,由 Anders Hejlsberg 领衔的 TypeScript ...
  • 微前端的核心价值

    2020-12-05 16:41:05
    我要怎么把这个用 react 的组件打出一个包,并且集成到原来的用 es5 的代码里面?或者我怎么让 webpack 跟 之前的 grunt 能和谐共存一起友好的产出一个符合预期的 bundle? 第二个场景,...
  • 主要功能点:高安全性的用户管理体系、高安全性的异构系统数据导入导出、拼音检索、复合检索、无限级次数据管理、个性邮件群发、Excel文件导入导出。 技术点 ADO.Net技术应用、SQLServer、MD5安全算法、基于NPOI的...
  • 然后他们根据产品功能和交互制定了一堆叼炸天的前后端交互的API,这套API就类似于一套前后端开发的“协议”,Alex和Bob开发的时候都需要遵守。例如其中一个发表评论的功能: <pre><code> // API: ...
  • Quartus_II使用教程

    热门讨论 2012-11-26 23:20:43
    Quartus是Maxplus的更新替换产品,其界面友好,使用方 便。在Quartus中可以完成设计输入,HDL综合,布线布局(适配),(前)仿真,下载等测 试。 Quartus软件主要有网页版订购版,都可以从Altera公司的网站上下载...
  • 8.1 模块化和界面 148 8.2 名字空间 150 8.2.1 带限定词的名字 151 8.2.2 使用声明 152 8.2.3 使用指令 153 8.2.4 多重界面 154 8.2.5 避免名字冲突 157 8.2.6 名字查找 159 8.2.7 名字空间别名 159 8.2.8 ...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    vc++的音乐播放器 VC++制作3D效果的旋转文字特效 VC++注册码加密源程序(含注册机、解密机) 压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪...
  • 8.1 模块化和界面 148 8.2 名字空间 150 8.2.1 带限定词的名字 151 8.2.2 使用声明 152 8.2.3 使用指令 153 8.2.4 多重界面 154 8.2.5 避免名字冲突 157 8.2.6 名字查找 159 8.2.7 名字空间别名 159 8.2.8 ...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    vc++的音乐播放器 VC++制作3D效果的旋转文字特效 VC++注册码加密源程序(含注册机、解密机) 压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪...

空空如也

空空如也

1 2 3
收藏数 51
精华内容 20
关键字:

产品功能模块化怎么写