软件需求工程 高校教学平台 测试计划

点击查看 软件需求工程 高校教学平台 卷首语

简介

文档术语及缩略词

  • Black Box Testing 黑盒测试

  • Functionality Testing 功能性测试

  • Regression Testing 回归测试

  • Final Integrated Build Testing 集成测试

  • Build Verification Testing (BVT) 构建验证测试

  • Build AcceptanceTesting (BAT) 构建验收测试

  • Software Quality Assurance(SQA) 软件质量保证

参考资料

  • Early Approach to Software Engineering, Pallavi Gore, Kritika Saxena.

  • Practical File of Software Engineering and Testing Laboratory, Aakash Raj.

  • Software Engineering, Principles and Practice, 3rd Edition, Hans van Vliet.

  • Program Manager’s Guidebook for Software Assurance, Dr. Kenneth E. Nidiffer,
    Timothy A. Chick, Dr. Carol Woody.

  • Experimentation in Software Engineering, Claes Wohlin, Per Runeson, Martin
    Host, Magnus C. Ohlsson, Bjorn Regnell, Anders Wesslen.

  • IEEE Computer Society/Software Engineering Institute Software Process
    Achievement (SPA) Award 2009, Satyendra Kumar, Ramakrishnan M.

  • Michael Felderer, Wilhelm Hasselbring, Rick Rabiser, Reiner Jung: Software
    Engineering 2020, Fachtagung des GI-Fachbereichs Softwaretechnik, 24.-28.
    Februar 2020, Innsbruck, Austria. LNI P-300, Gesellschaft für Informatik
    e.V. 2020, ISBN 978-3-88579-694-7.

  • Regina Hebig, Robert Heinrich: Combined Proceedings of the Workshops at
    Software Engineering 2020 Co-located with the German Software Engineering
    Conference 2020 (SE 2020), Innsbruck, Österreich, March 05, 2020. CEUR
    Workshop Proceedings 2581, CEUR-WS.org 2020.

  • Steffen Becker, Ivan Bogicevic, Georg Herzwurm, Stefan Wagner: Software
    Engineering and Software Management, SE/SWM 2019, Stuttgart, Germany,
    February 18-22, 2019. LNI P-292, GI 2019, ISBN 978-3-88579-686-2.

  • Stephan Krusche, Kurt Schneider, Marco Kuhrmann, Robert Heinrich, Reiner
    Jung, Marco Konersmann, Eric Schmieders, Steffen Helke, Ina Schaefer,
    Andreas Vogelsang, Björn Annighöfer, Andreas Schweiger, Marina Reich, André
    van Hoorn: Proceedings of the Workshops of the Software Engineering
    Conference 2019, Stuttgart, Germany, February 19, 2019. CEUR Workshop
    Proceedings 2308, CEUR-WS.org 2019.

  • Peter Liggesmeyer, Gregor Engels, Jürgen Münch, Jörg Dörr, Norman Riegel:
    Software Engineering 2009: Fachtagung des GI-Fachbereichs Softwaretechnik
    02.-06.03. 2009 in Kaiserslautern. LNI P-143, GI 2009, ISBN
    978-3-88579-237-6.

  • Jürgen Münch, Peter Liggesmeyer: Software Engineering 2009 - Workshopband,
    Fachtagung des GI-Fachbereichs Softwaretechnik 02.-06.03.2009 in
    Kaiserslautern. LNI P-150, GI 2009, ISBN 978-3-88579-244-4.

  • 《软件工程——实践者的研究方法》,Roger S.Pressman,机械工业出版社

  • 《软件需求(第三版)》,Karl Wiegers,Joy Beatty,清华大学出版社

  • 《计算机软件产品开发文件编制指南》(GB 8567-88)

  • Information Technology Project Management, Second Edition, Kathy Schwalbe,
    Course Technology.

  • Successful Project Management, Gido, J. and Clements, J. South-Western
    Publishing.

  • On Time and Within Budget: Software Project Management Practices and
    Techniques, 3rd Edition, Bennatan, E., Wiley.

  • Software Project Management: A Unified Framework, Walker Royce,
    Addison-Wesley.

  • IS Project Management Handbook, Doss, G., Prentice Hall.

  • CMMI: Guidelines for Process Integration and Product ImprovementMary Beth
    Chrissis, Mike Konrad, Sandy Shrum.

  • CMMI® Distilled: A Practical Introduction to Integrated Process Improvement,
    Second Edition, By Dennis M. Ahern, Aaron Clouse, Richard Turner.

  • CMMI® SCAMPI Distilled Appraisals for Process Improvement, By Dennis M.
    Ahern, Jim Armstrong, Aaron Clouse, Jack R. Ferguson, Will Hayes, Kenneth E.
    Nidiffer.

  • 军用软件能力成熟度模型可重复级实施指南,石柱,中国标准出版社

  • 战略管理(原书第6版),Greey Johnson & Kevan Scholes,王军等译,人民邮电出版社

  • 复杂产品系统创新管理,陈劲,科学出版社

  • Product Management,4thedition,Donald R. Lehmann & Russell S.
    Winer,McGraw-Hill Companies,Inc.

  • 基于ITIL®的IT服务管理基础篇,Jan van Bon,章斌译,清华大学出版社

  • 创新管理-获取持续竞争优势,宁钟,机械工业出版社

  • 软件编档导论,金波,清华大学出版社

  • 计算机软件工程规范国家标准汇编,中国标准出版社

  • 《“软件需求工程”教学安排 20200926》

  • 《[G25]“高校教学平台”项目可行性报告》

  • 《[G25]“高校教学平台”项目章程》

  • 《[G25]“高校教学平台”项目计划》

  • 《[G25]“高校教学平台”需求工程计划》

  • 《[G25]“高校教学平台”前景与范围》

  • 《[G25]“高校教学平台”质量保证计划》

  • 《[G25]“高校教学平台”软件需求规格说明书》

  • 《[G25]“高校教学平台”系统设计计划》

  • 《[G25]“高校教学平台”系统编码与实现计划》

  • 《[G25]“高校教学平台”软件概要设计说明书》

  • 《软件测试的艺术》

  • 《软件质量保证与测试》课程相关课件

目标测试对象

测试包含

  • 用户管理:添加与删除用户、查看和修改用户个人信息、用户权限管理,登录、注销、找回密码、修改密码

  • 教师主页:教师查看和维护个人主页信息,用户查看教师主页

  • 课程信息:用户查看课程、查看课程详情,进入课程,管理员添加、删除、修改课程信息

  • 教学班信息:添加删除修改教学班信息、教学班学生管理,教学班内分组管理

  • 资料管理:教师或助教上传、删除资料,用户下载资料

  • 作业测试与实验:学生查看作业,学生提交作业,教师助教布置作业、修改作业、批改作业,学生作业成绩申诉

  • 成绩评定:教师设定考察项目权重,学生加权成绩计算,学生查看自己的成绩

  • 讨论留言:用户在讨论区发表、删除帖子,用户在帖子下评论、回复

  • 课程通知:教师或助教发表、删除通知,用户查看通知

  • 公共信息:平台主页

测试排除

  • 课程签到:授课教师在平台布置签到,学生进行签到,教师能够查看出勤结果

  • 课程点名:授课教师在教学班内进行随机点名

测试方法

测试识别及理由

课程签到与课程点名功能尚未实现,无需测试。

其余模块包括用户管理、课程信息模块、教学班管理模块为开发完成未测试模块,将于本次测试迭代过程中完成测试。

测试内容

构建验证测试

构建验证测试将根据用户手册对功能进行检查,复查报告库中的所有缺陷,以及对RELEASE版本进行安装测试。这些测试用例是确保应用程序稳定并可以进行全面测试的核心功能测试用例,如果构建验证测试失败,则应再次将构建分配给开发人员进行修复。

功能测试

功能测试旨在测试系统的功能是否正确实现以及与需求是否符合,测试人员将依据需求文档,按照等价类划分、边界值分析等方法设计测试用例,并对功能模块进行测试。本次测试迭代过程中,测试人员根据需求文档,简述待测试功能如下,详细测试用例见测试用例。

功能性测试:

  1. 用户管理

    1)通用用户

  • 教师、助教、学生、管理员都可以点击首页“登录”按钮进行登录,输入正确的学工号和密码进入各自对应的用户主页。

  • 如果忘记密码,在登录页面点击“找回密码”,输入用户名和个人信息中的邮箱,点击“找回”按钮,打开收到邮件里的链接,进行重置密码,重置后会跳转到登录页面。

  • 用户登陆后在导航栏下拉框选择“修改密码”,首先进行检验密码,即输入当前用户名和原密码进行确认,确认正确后进行密码重置,修改完毕跳转到登录页面。

  • 用户登陆后在导航栏下拉框选择“注销”退出当前账号,回到首页。

    2). 管理员

  • 管理员可以在用户管理模块中查看所有已有的用户信息,包括基本信息和独立信息,前者如用户标志号、用户类型、用户名、邮箱、联系方式等,后者如教师是否已添加主页、学生是否为助教等信息。

  • 管理员还可以在用户管理模块中添加学生和教师账户,通过不同的添加方式,系统将在后台自动为用户创建唯一的学工号/教工号,同时自动补全用户类型,以独立区分每一个类型的个体用户,保证其信息的整体原子性,同时确保登录的安全度。在输入新账户信息时,管理员需输入合法的信息,如电子邮箱应包含”@”符号,手机号应为11位纯数字等等,对于不符合规范的数据,系统将提醒管理员同时取消数据的插入。

  • 管理员可以为未创建主页的教师账户添加个人主页,对于已创建主页的教师账户,管理员可以为其修改个人主页,除已有的基本信息外,更新的更丰富的信息将补充在表”teacher_detail”中,点击“提交”后,系统将自动为该账户补全教师主页信息(包括”user”中的基本信息),并将数据写入数据库。

    3). 教师、助教

教师可以点击“添加助教”,输入待添加助教的信息,包括其学生ID和担任助教的课程ID。如果ID均有效,则添加成功,返回教师首页,助教可以用新分配的教师ID进行登录,对相应课程进行与教师相同权限的管理;如果ID无效,则提示错误信息并需重新填写。
4). 学生
5). 游客

  • 游客可以点击首页“注册”按钮进行注册,填写正确格式的用户名、邮箱、电话和密码及其确认,若格式不正确将会出现相应错误提示,需要重新输入正确格式的数据项,若有数据项没填写也会提示填写。注册成功后会跳转到游客登录界面,填写用户名和密码登陆。

  • 游客注册成功后可以浏览公开课程。

  1. 课程公共信息管理

    1. 公开课

      对于所有用户都能查看该分类的所有课程,单击课程链接可以进入课程主页,查看其课程信息,包括课程简介、授课教师、学分、所属学院、课程大纲等。

    2. 学校专有课

      只有本校认证的学生、教师、助教等允许查看该分类课程信息,包括课程简介、授课教师、学分、所属学院、课程大纲、课程资料等。课程主页有“加入课程”按钮,能让已经进入该课程教学班的教师、同学通过点击该按钮进入相应的教学班。

  2. 教学班管理

    1. 教学班章节模块

      1. 对于教师(助教)

        教师(助教)可以针对某个自己管理的教学班添加、查看、修改、删除相应的章节信息,每个章节可以包含多个资料。教师(助教)可以为各章节添加、查看、修改、删除相应资料,章节列表分为课件、资料、作业、实验、测试等类型,可以根据类型筛选显示部分列表项。

        设置所属章节、资料名称、资料类型、选择附件后可以上传资料,并可以看到资料附件名称、大小和学生的完成进度。点击某条资料后可以跳转到资料详细信息界面,可以看到资料开始时间、所属章节、附件信息等详细信息。

      2. 对于学生

        学生可以查看教师(助教)发布的章节和资料信息,下载相关的资料附件。学生可以查看资料类型,根据类型筛选显示部分列表项。点击具体某项资料可以跳转到信息界面,可以看到资料开始时间、所属章节、附件信息等详细信息。学生查看或下载资料后该项资料的完成进度会同步更新。

    2. 教学班资料管理模块

      1. 对于教师(助教)

        教师(助教)可以针对某个自己管理的教学班的各个章节添加、查看、修改、删除相应资料,章节列表分为课件、资料、作业、实验、测试等类型,可以根据类型筛选显示部分列表项。

        设置所属章节、资料名称、资料类型、选择附件后可以上传资料,并可以看到资料附件名称、大小和学生的完成进度。点击某条资料后可以跳转到资料详细信息界面,可以看到资料开始时间、所属章节、附件信息等详细信息。

      2. 对于学生

        学生可以查看教师(助教)发布的资料信息,下载相关的资料附件。学生可以查看资料类型,根据类型筛选显示部分列表项。点击具体某项资料可以跳转到信息界面,可以看到资料开始时间、所属章节、附件信息等详细信息。学生查看或下载资料后该项资料的完成进度会同步更新。

    3. 教学班作业模块

      1. 对于教师、助教

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要布置作业的教学班后进入教学班首页。点击导航栏中“作业”选项进入作业页面,点击“添加作业”按钮即可添加该教学班的作业。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要修改作业的教学班后进入教学班首页。点击导航栏中“作业”选项进入作业页面,在该教学班的所有作业列表中找到需要修改的作业项,点击作业名称后进入该作业的详情页面。在详情页面中点击“修改”进行该作业的修改。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要删除作业的教学班后进入教学班首页。点击导航栏中“作业”选项进入作业页面,在该教学班的所有作业列表中找到需要删除的作业项,点击作业名称后进入该作业的详情页面。在详情页面中点击“删除”进行该作业的删除。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看作业的教学班后进入教学班首页。点击导航栏中“作业”选项进入作业页面,该页面即显示了所有已布置的作业列表。点击任意作业的名称,进入该作业的详情页面,可以查看该作业的详细信息。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看作业的教学班后进入教学班首页。点击导航栏中“作业”选项进入作业页面,该页面即显示了所有已布置的作业列表。点击任意作业的名称,进入该作业的详情页面,可以查看该作业的详细信息。在作业详情页面点击“批改”按钮,或在作业列表选中某项作业点击后侧的“批改”按钮进入到作业提交状况页面,该页面显示了所有上课学生的改作业提交状况,选择任意学生点击右侧的“批改”按钮即可对该学生作业进行批改。

      2. 对于学生

        学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看作业的教学班后进入教学班首页。点击导航栏中“作业”选项进入作业页面,该页面即显示了所有已布置的作业列表。点击任意作业的名称,进入该作业的详情页面,可以查看该作业的详细信息。

        学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看作业的教学班后进入教学班首页。点击导航栏中“作业”选项进入作业页面,该页面即显示了所有已布置的作业列表。点击任意作业的名称,进入该作业的详情页面,可以查看该作业的详细信息。在该作业详情页内,点击“提交作业”按钮即可进行作业的提交。

    4. 教学班实验模块

      1. 对于教师、助教

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要布置实验的教学班后进入教学班首页。点击导航栏中“实验”选项进入实验页面,点击“添加实验”按钮即可添加该教学班的实验。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要修改实验的教学班后进入教学班首页。点击导航栏中“实验”选项进入实验页面,在该教学班的所有实验列表中找到需要修改的实验项,点击实验名称后进入该实验的详情页面。在详情页面中点击“修改”进行该实验的修改。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要删除实验的教学班后进入教学班首页。点击导航栏中“实验”选项进入实验页面,在该教学班的所有实验列表中找到需要删除的实验项,点击实验名称后进入该实验的详情页面。在详情页面中点击“删除”进行该实验的删除。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看实验的教学班后进入教学班首页。点击导航栏中“实验”选项进入实验页面,该页面即显示了所有已布置的实验列表。点击任意实验的名称,进入该实验的详情页面,可以查看该实验的详细信息。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看实验的教学班后进入教学班首页。点击导航栏中“实验”选项进入实验页面,该页面即显示了所有已布置的实验列表。点击任意实验的名称,进入该实验的详情页面,可以查看该实验的详细信息。在实验详情页面点击“批改”按钮,或在实验列表选中某项实验点击后侧的“批改”按钮进入到实验提交状况页面,该页面显示了所有上课学生的改实验提交状况,选择任意学生点击右侧的“批改”按钮即可对该学生实验进行批改。

      2. 对于学生

        学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看实验的教学班后进入教学班首页。点击导航栏中“实验”选项进入作业页面,该页面即显示了所有已布置的作业列表。点击任意实验的名称,进入该实验的详情页面,可以查看该实验的详细信息。

        学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看实验的教学班后进入教学班首页。点击导航栏中“实验”选项进入实验页面,该页面即显示了所有已布置的实验列表。点击任意实验的名称,进入该实验的详情页面,可以查看该实验的详细信息。在该实验详情页内,点击“提交实验”按钮即可进行实验的提交。

    5. 教学班测试模块

      1. 对于教师、助教

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要增加测试的教学班后进入教学班首页。点击导航栏中“测试”选项进入测试页面,该页面即显示了所有已布置的测试列表。点击左侧“添加测试”按钮即可添加测试。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要修改测试的教学班后进入教学班首页。点击导航栏中“测试”选项进入测试页面,在该教学班的所有测试列表中找到需要修改的测试项,点击测试名称后进入该测试的详情页面。在详情页面中点击“修改”进行该测试的修改。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要删除测试的教学班后进入教学班首页。点击导航栏中“测试”选项进入测试页面,在该教学班的所有测试列表中找到需要删除的测试项,点击测试名称后进入该测试的详情页面。在详情页面中点击“删除”进行该测试的删除。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看测试的教学班后进入教学班首页。点击导航栏中“测试”选项进入测试页面,该页面即显示了所有已布置的测试列表。点击任意测试的名称,进入该测试的详情页面,可以查看该测试的详细信息。在测试详情页面点击“批改”按钮,或在测试列表选中某项测试点击后侧的“批改”按钮进入到测试提交状况页面,该页面显示了所有上课学生的改测试提交状况,选择任意学生点击右侧的“批改”按钮即可对该学生测试进行批改。

      2. 对于学生

        学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看测试的教学班后进入教学班首页。点击导航栏中“测试”选项进入作业页面,该页面即显示了所有已布置的作业列表。点击任意测试的名称,进入该测试的详情页面,可以查看该测试的详细信息。

        学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看测试的教学班后进入教学班首页。点击导航栏中“测试”选项进入测试页面,该页面即显示了所有已布置的测试列表。点击任意测试的名称,进入该测试的详情页面,可以查看该测试的详细信息。在该测试详情页内,点击“提交测试”按钮即可进行测试的提交。

    6. 教学班论坛模块

      1. 对于教师、助教

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要发布新帖子的教学班后进入教学班首页。点击导航栏中“论坛”选项进入论坛页面,该页面即显示了所有已发布的贴子。点击“我要发贴”即可添加新帖子。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看帖子的教学班后进入教学班首页。点击导航栏中“论坛”选项进入论坛页面,该页面即显示了所有已发布的贴子。点击想要查看帖子的名称即可进入该帖子的详细页面(包括该帖子和回复该帖子的所有信息)。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要回复帖子的教学班后进入教学班首页。点击导航栏中“论坛”选项进入论坛页面,该页面即显示了所有已发布的贴子。选择点击需要回复帖子的名称进入该帖子的详细页面后,可以任选一条帖子进行回复。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要删除帖子的教学班后进入教学班首页。点击导航栏中“论坛”选项进入论坛页面,该页面即显示了所有已发布的贴子。选择点击需要删除帖子的名称进入该帖子的详细页面后,可以任选一条帖子进行删除。

      2. 对于学生

        学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要发布新帖子的教学班后进入教学班首页。点击导航栏中“论坛”选项进入论坛页面,该页面即显示了所有已发布的贴子。点击“我要发贴”即可添加新帖子。

        学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看帖子的教学班后进入教学班首页。点击导航栏中“论坛”选项进入论坛页面,该页面即显示了所有已发布的贴子。点击想要查看帖子的名称即可进入该帖子的详细页面(包括该帖子和回复该帖子的所有信息)

        学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要回复帖子的教学班后进入教学班首页。点击导航栏中“论坛”选项进入论坛页面,该页面即显示了所有已发布的贴子。选择点击需要回复帖子的名称进入该帖子的详细页面后,可以任选一条帖子进行回复。

        学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要删除帖子的教学班后进入教学班首页。点击导航栏中“论坛”选项进入论坛页面,该页面即显示了所有已发布的贴子。选择点击需要删除帖子的名称进入该帖子的详细页面后,可以任选一条帖子进行删除。

    7. 教学班通知模块

      1. 对于教师、助教

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要布置通知的教学班后进入教学班首页。点击导航栏中“通知”选项进入通知页面,点击“添加通知”按钮即可添加该教学班的通知。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要修改通知的教学班后进入教学班首页。点击导航栏中“通知”选项进入通知页面,在该教学班的所有通知列表中找到需要修改的通知项,点击通知名称后进入该通知的详情页面。在详情页面中点击“修改”进行该通知的修改。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要删除通知的教学班后进入教学班首页。点击导航栏中“通知”选项进入通知页面,在该教学班的所有通知列表中找到需要删除的通知项,点击通知名称后进入该通知的详情页面。在详情页面中点击“删除”进行该通知的删除。

      2. 对于学生

        学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看通知的教学班后进入教学班首页。点击导航栏中“通知”选项进入页面,该页面即显示了所有已布置的通知列表。点击任意通知的名称,进入该通知的详情页面,可以查看该通知的详细信息。

    8. 教学班组队模块

      1. 对于教师、助教

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要设置组队的教学班后进入教学班首页。点击导航栏中“组队”选项进入该教学班的组队页面,该页面显示了该教学班的目前组队状况。点击新建组队按钮即可设置添加一个新的学生小组。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要设置组队的教学班后进入教学班首页。点击导航栏中“组队”选项进入该教学班的组队页面,该页面显示了该教学班的目前组队状况。

      2. 对于学生

    9. 教学班成绩模块

      1. 对于教师、助教

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看成绩的教学班后进入教学班首页。点击导航栏中“成绩”选项进入成绩分析页面。该页面即显示了所有学生的平时成绩和考试成绩列表,同时配有饼状图等数据分析图表。点击某一学生的名字即可查看该学生所有作业、实验、测试的分数列表。

        教师或助教点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要修改成绩的教学班后进入教学班首页。点击导航栏中“成绩”选项进入成绩分析页面。该页面即显示了所有学生的平时成绩和考试成绩列表,同时配有饼状图等数据分析图表。点击某一学生的名字即可查看该学生所有作业、实验、测试的分数列表。点击任意一项成绩即可进行直接修改。

      2. 对于学生

        学生点击登录后首页左侧工具栏的“教学班”选项进入教学班选择页面,选择需要查看成绩的教学班后进入教学班首页。点击导航栏中“成绩”选项进入成绩分析页面。该页面即显示该学生所有作业、实验、测试的分数列表。

  3. 网站维护

    1. 用户使用帮助模块

      能够给用户提供该产品的使用帮助,包括各功能、界面的使用方法,以及可能遇到的问题以及解决方式。

    2. 用户反馈意见或建议模块

      用户可以点击首页导航栏上的反馈意见按钮进入反馈意见页面,根据需要选择需要提出意见或建议的分类,并填写相应意见或建议内容后提交。本系统会收集用户的意见和建议并给出相应改进或解决方法。

    3. 友情链接模块

      用户点击以下九个链接,分别跳转到响应网站:

      1. 浙江大学官网

      2. 浙江大学现代教务管理系统

      3. 浙江大学邮件系统

      4. 智云课堂

      5. 学在浙大

      6. 浙江大学后勤综合服务大厅

      7. 浙江大学信访办公室

      8. 中国大学慕课

      9. 智慧树

回归测试

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。

因此每次代码发生较大修改后,本小组将综合考虑变更后的需求、其他小组的项目软件测试记录报告、本项目的缺陷历史记录、本项目的SQA报告和各组员所反馈的问题,对更改后的项目进行有针对性和有侧重点的用例测试,记录测试记录并更正代码直到确认新增功能对已有功能没有影响为止。

在实际工作中,回归测试需要反复进行,当测试者一次又一次地完成相同的测试时,这些回归测试将变得非常令人厌烦,而在大多数回归测试需要手工完成的时候尤其如此,因此,需要通过自动测试来实现重复的和一致的回归测试。通过测试自动化可以提高回归测试效率。为了支持多种回归测试策略,自动测试工具应该是通用的和灵活的,以便满足达到不同回归测试目标的要求。

在测试软件时,应用多种测试技术是常见的。当测试一个修改了的软件时,测试者也可能希望采用多于一种回归测试策略来增加对修改软件的信心。不同的测试者可能会依据自己的经验和判断选择不同的回归测试技术和策略。

回归测试并不减少对系统新功能和特征的测试需求,回归测试包应包括新功能和特征的测试。如果回归测试包不能达到所需的覆盖要求,必须补充新的测试用例使覆盖率达到规定的要求。

回归测试是重复性较多的活动,容易使测试者感到疲劳和厌倦,降低测试效率,在实际工作中可以采用一些策略减轻这些问题。例如,安排新的测试者完成手工回归测试,分配更有经验的测试者开发新的测试用例,编写和调试自动测试脚本,做一些探索性的或ad hoc测试。还可以在不影响测试目标的情况下,鼓励测试者创造性地执行测试用例,变化的输入、按键和配置能够有助于激励测试者又能揭示新的错误。

在组织回归测试时需要注意两点,首先是各测试阶段发生的修改一定要在本测试阶段内完成回归,以免将错误遗留到下一测试阶段。其次,回归测试期间应对该软件版本冻结,将回归测试发现的问题集中修改,集中回归。

在实际工作中,可以将回归测试与兼容性测试结合起来进行。在新的配置条件下运行旧的测试可以发现兼容性问题,而同时也可以揭示编码在回归方面的错误。

非功能性测试

非功能性测试的测试(又叫做非功能性需求检验)的概述:指对软件产品的安全性、可靠性、互操作性、健壮性等进行的测试。其中,非功能性需求的主要指标包括:

  • 观感需求(界面需求)

    主要描述了对产品外观的期望、情绪和风格。这些需求规定了外观想要达到的目标,它和详细的界面设计还是有区别的,体现的是客户的感觉。界面需求还包括对控件进行规范和对控件的使用范围进行一个规定等方面的内容。可以考虑借用一个原型来描述。

  • 易用性需求与可执行需求

    易用性会使产品提高符合用户习惯的能力以及其对使用的期望。它会对用户使用产品的生产效率、错误率以及用户对新产品的接收程度产生很大的影响。

    可执行需求是指产品可以在给定的时间或者特定的精确度来执行某些任务,或者在一段时间内的极端状态值。在考虑执行需求时,可以从完成任务的速度、结果的精确度、容量、允许值的范围、单位时间内完成的任务数、资源的使用效率、两次故障间的平均无故障时间、连续不停机时间等方面入手。它还应该包括对风险的控制内容。

  • 安全性需求

    安全性指产品消除潜在风险的能力和对风险的承受能力。包含、保密性、可靠性和完整性三个子特性。保密性指的是数据不能被授权用户以外的任何人访问的能力。可靠性指的是授权用户可以不受阻止的访问数据、与其它软件的兼容的能力和产品的强壮度。完整性指的是安预期目标完成任务的能力。

    一般分为程序安全、系统安全、数据安全。程序安全是指开发的程序是否是安全的,程序上有没有安全的漏洞,例如Web开发中服务器代码没有对输入的参数进行验证,从而导致客户端机器人轻易的获取数据。系统安全指的是系统整体的安全,例如安全的粒度,未经授权的用户是否可以轻易的访问非法的数据等。数据的安全是对数据的保护,数据库中数据有没有做审核,用户之间是否会共享数据等。

  • 系统的完整性需求

    指为完成业务需求和系统正常运行本身要求而必须具有的功能,这些功能往往是用户不能提出的。典型的功能有:联机帮助、数据管理、用户管理、软件发布管理、在线升级,等等。

  • 系统的可扩充性与可维护性

    这里指的是当系统达到瓶颈的时候怎样在不修改代码的情况下提供系统的负载能力,扩展一般分为Scale UP和Scale Out。一般情况下会综合运用UP和OUT。例如,增加服务器的性能来提高系统的处理能力,但是任何计算机都会有一定的瓶颈,当增加服务器性能不能达到提高系统性能的时候,我们需要考虑横向的扩展服务器,也即Scale Out。在Scale Out时一般需要我们的系统是状态无关的,即Stateless。

非功能需求检验起来非常困难。这此非功能需求可能来自于系统的易用性、可恢复性和对用户输入的快速反映性能的要求,同时需求描述的不详细和不确定也会给开发者带来许多困难。虽然理论上非功能需求能够量化,通过一些可用来指定非功能性系统特性的度量的测试可使其验证更为客观,但在实际过程中,对需求描述进行量化是很困难的。这种困难性体现为客户没有能力把目标需求进行量化的同时,有些目标(如可维护性)本身也没有度量可供使用。因此,在需求文档中的目标陈述中,开发者应该明确用户对需求的优先顺序,同时也要让用户知道一些目标的模糊性和无法客观验证性。

在本项目中,针对以上五种非功能性需求,我们做以下要求:

  • 感官需求(界面需求)

    • 教学平台各个网页均符合正常人群的审美观念,配色、布局采用简约风格

    • 配色、前端页面动画等采用渐变形式,给用户视觉上的美感。

  • 易用性需求与可执行需求

    • 高校教学平台所有网页均提供用户帮助链接,方便用户随时查看使用帮助

    • 所有网页均提供完整、全面的链接导航等,避免用户打开过多浏览器标签,方便用户回溯历史记录

    • 确保本教学平台所有链接、文档、按钮等都能有正确的响应

    • 系统保证运行稳定,避免出现延迟、无响应或崩溃等现象

    • 主流浏览器(Google Chrome, Microsoft Edge, Firefox, Safari, Opera等)包括手机端均能够正常访问系统

    • 系统能保证至少200人的并发访问、下载、上传等操作

    • 对于所有用户的任意操作,无论是否出现异常,系统保证在5s内给出反馈

    • 系统能及时检测并通知技术人员各种非正常情况,如设备通信中断,连接数据库出错等问题,避免用户长时间等待

    • 所有页面在3s内加载完毕并正常显示,大量用户访问本系统时,也应当保证在7s内加载完毕

  • 安全性需求

    • 拒绝错误格式文件的上传,并警告用户

    • 检测恶意代码,防止脚本注入等攻击

    • 数据库所有操作都有日志记录,可以撤销之前的操作

    • 严格规定用户权限,当访问无权限时,系统发出提示

    • 上传文件一律采用覆盖写的方式写入服务器文件系统

    • 系统及时备份信息,及时排查可疑文件,防止病毒攻击

    • 系统能检测到恶意重复操作、恶意流量等,并且封禁当前IP一段时间

    • 系统具备反爬虫的功能

  • 系统完整性需求

    • 对于学生用户,针对该学生所在的某个教学班,系统能提供一套完整的查看教学班章节、预览或下载资料、查看提交作业、查看提交实验、查看提交测试、查看通知、查看与自己有关的帖子以及查看自己目前所有成绩的“一条龙”服务。

    • 对于教师、助教用户,针对所在的某个教学班,系统能提供一套完整的查看、添加、修改、删除教学班的章节、资料、作业、实验、测试、教学班的通知和与自己有关的帖子,以及查看教学班的整体成绩分析和某学生某项具体项目的成绩分析的“一条龙”服务。

    • 对于游客,系统能提供一套完成的查看、筛选高校教学平台的公共课程“一条龙”服务。

  • 系统的可扩充性与可维护性

    • 系统定期执行自我检查,保证系统运转正常

    • 系统页面采用响应式布局,无论是PC端还是智能手机端都可以正常查看页面。

集成测试

集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它最简单的形式是:把两个已经测试过的单元组合成一个组件,测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合为程序的更大部分。方法是测试片段的组合,并最终扩展成进程,将模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有进程。

集成测试测试组合单元时出现的问题。通过使用要求在组合单元前测试每个单元并确保每个单元的生存能力的测试计划,可以知道在组合单元时所发现的任何错误很可能与单元之间的接口有关。这种方法将可能发生的情况数量减少到更简单的分析级别。一个有效的集成测试有助于解决相关的软件与其它系统的兼容性和可操作性的问题。

集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。也就是说,在集成测试之前,单元测试应该已经完成,集成测试中所使用的对象应该是已经经过单元测试的软件单元。这一点很重要,因为如果不经过单元测试,那么集成测试的效果将会受到很大影响,并且会大幅增加软件单元代码纠错的代价。

集成测试是单元测试的逻辑扩展。在现实方案中,集成是指多个单元的聚合,许多单元组合成模块,而这些模块又聚合成程序的更大部分,如分系统或系统。集成测试采用的方法是测试软件单元的组合能否正常工作,以及与其他组的模块能否集成起来工作。最后,还要测试构成系统的所有模块组合能否正常工作。集成测试所持的主要标准是《软件概要设计规格说明》,任何不符合该说明的程序模块行为都应该加以记载并上报。

所有的软件项目都不能摆脱系统集成这个阶段。不管采用什么开发模式,具体的开发工作总得从一个一个的软件单元做起,软件单元只有经过集成才能形成一个有机的整体。具体的集成过程可能是显性的也可能是隐性的。只要有集成,总是会出现一些常见问题,工程实践中,几乎不存在软件单元组装过程中不出任何问题的情况。从图3-1可以看出,集成测试需要花费的时间远远超过单元测试,直接从单元测试过渡到系统测试是极不妥当的做法。
在这里插入图片描述

图3-1 集成测试分类

集成测试的目标是按照设计要求使用那些通过单元测试的构件来构造程序结构。单个模块具有高质量但不足以保证整个系统的质量。有许多隐蔽的失效是高质量模块间发生非预期交互而产生的。以下两种测试技术是用于集成测试:

  • 功能性测试。使用黑盒测试技术针对被测模块的接口规格说明进行测试。

  • 非功能性测试。对模块的性能或可靠性进行测试。

另外,集成测试的必要性还在于一些模块虽然能够单独地工作,但并不能保证连接起来也能正常工作。程序在某些局部反映不出来的问题,有可能在全局上会暴露出来,影响功能的实现。此外,在某些开发模式中,如迭代式开发,设计和实现是迭代进行的。在这种情况下,集成测试的意义还在于它能间接地验证概要设计是否具有可行性。

集成测试是确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确。它所测试的内容包括单元间的接口以及集成后的功能。使用黑盒测试方法测试集成的功能。并且对以前的集成进行回归测试。

测试自动化策略

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

前提条件

实施自动化测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试。通常需要同时满足以下条件:

  • 需求变动不频繁

    测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。

  • 项目周期足够长

    自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成,这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。

  • 自动化测试脚本可重复使用

    如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了。

另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。

适用场合

通常适合于软件测试自动化的场合:

  • 回归测试,重复单一的数据录入或是击键等测试操作造成了不必要的时间浪费和人力浪费

  • 此外测试人员对程序的理解和对设计文档的验证通常也要借助于测试自动化工具

  • 采用自动化测试工具有利于测试报告文档的生成和版本的连贯性

  • 自动化工具能够确定测试用例的覆盖路径,确定测试用例集对程序逻辑流程和控制流程的覆盖

随着测试流程的不断规范以及软件测试技术的进一步细化,软件测试自动化已经日益成为一支不可忽视的力量。能否借助于这支外在力量以及如何借助于这支力量来规范企业测试流程、提高特定测试活动的效率,正是本期所要讨论的话题。

软件测试自动化的研究领域主要集中在软件测试流程的自动化管理以及动态测试的自动化(如单元测试、功能测试以及性能方面)。在这两个领域,与手工测试相比,测试自动化的优势是明显的。首先自动化测试可以提高测试效率,使测试人员更加专注于新的测试模块的建立和开发,从而提高测试覆盖率;其次,自动化测试更便于测试资产的数字化管理,使得测试资产在整个测试生命周期内可以得到复用,这个特点在功能测试和回归测试中尤其具有意义;此外,测试流程自动化管理可以使机构的测试活动开展更加过程化,这很符合CMMI过程改进的思想。根据OppenheimerFunds的调查,在2001年前后的3年中,全球范围内由于采用了测试自动化手段所实现的投资回报率高达1500%。

选型原则

然而存在优势是否就一定意味着选择自动化测试方案都能为企业带来效益回报呢?也不尽然,任何一种产品化的测试自动化工具,都可能存在与某具体项目不甚贴切的地方。再加上,在企业内部通常存在许多不同种类的应用平台,应用开发技术也不尽相同,甚至在一个应用中可能就跨越了多种平台;或同一应用的不同版本之间存在技术差异。所以选择软件测试自动化方案必须深刻理解这一选择可能带来的变动、来自诸多方面的风险和成本开销。

以下是进行软件测试自动化方案选型的参考性原则,包括以下六个方面的建议:

  • 选择尽可能少的自动化产品覆盖尽可能多的平台,以降低产品投资和团队的学习成本

  • 测试流程管理自动化通常应该优先考虑,以满足为企业测试团队提供流程管理支持的需求

  • 在投资有限的情况下,性能测试自动化产品将优先于功能测试自动化被考虑

  • 在考虑产品性价比的同时,应充分关注产品的支持服务和售后服务的完善性

  • 尽量选择趋于主流的产品,以便通过行业间交流甚至网络等方式获得更为广泛的经验和支持

  • 应对测试自动化方案的可扩展性提出要求,以满足企业不断发展的技术和业务需求

过程

自动化测试与软件开发过程从本质上来讲是一样的,无非是利用自动化测试工具(相当于软件开发工具),经过对测试需求的分析(软件过程中的需求分析),设计出自动化测试用例(软件过程中的需求规格),从而搭建自动化测试的框架(软件过程中的概要设计),设计与编写自动化脚本(详细设计与编码),测试脚本的正确性,从而完成该套测试脚本(即主要功能为测试的应用软件)。

  • 自动化测试需求分析。

    当测试项目满足了自动化的前提条件,并确定在该项目中需要使用自动化测试时,我们便开始进行自动化测试需求分析。此过程需要确定自动化测试的范围以及相应的测试用例、测试数据,并形成详细的文档,以便于自动化测试框架的建立。

  • 自动化测试框架的搭建。

    所谓自动化测试框架便是像软件架构一般,定义了在使用该套脚本时需要调用哪些文件、结构,调用的过程,以及文件结构如何划分。

而根据自动化测试用例,我们很容易能够定位出自动化测试框架的典型要素:

  • 公用的对象。

    不同的测试用例会有一些相同的对象被重复使用,比如窗口、按钮、页面等。这些公用的对象可被抽取出来,在编写脚本时随时调用。当这些对象的属性因为需求的变更而改变时,只需要修改该对象属性即可,而无需修改所有相关的测试脚本。

  • 公用的环境。

    各测试用例也会用到相同的测试环境,将该测试环境独立封装,在各个测试用例中灵活调用,也能增强脚本的可维护性。

  • 公用的方法。

    当测试工具没有需要的方法时,而该方法又会被经常使用,我们便需要自己编写该方法,以方便脚本的调用。

  • 测试数据。

    也许一个测试用例需要执行很多个测试数据,我们便可将测试数据放在一个独立的文件中,由测试脚本执行到该用例时读取数据文件,从而达到数据覆盖的目的。

脚本与测试运行

初学的自动化测试人员均会使用录制脚本到修改脚本的过程。但专业化的建议是以录制为参考,以编写脚本为主要行为,以避免录制脚本带来的冗余、公用元素的不可调用、脚本的调试复杂等问题。

事实上,当每一个测试用例所形成的脚本通过测试后,并不意味着执行多个甚至所有的测试用例就不会出错。输入数据以及测试环境的改变,都会导致测试结果受到影响甚至失败。而如果只是一个个执行测试用例,也仅能被称作是半自动化测试,这会极大的影响自动化测试的效率,甚至不能满足夜间自动执行的特殊要求。

因此,脚本的测试与试运行极为重要,它需要详查多个脚本不能依计划执行的原因,并保证其得到修复。同时他也需要经过多轮的脚本试运行,以保证测试结果得一致性与精确性。

自动化测试引入的原因是就把软件测试人员从枯燥乏味的机械性手工测试劳动中解放出来,以自动化测试工具取而代之,使测试人员的精力真正花在提高软件产品质量本身。

常用工具

  • QTP

    全名HP QuickTest Professional software,2012年12月6日发布11.5版本,并更名为Unified Functional Testing。QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以越来越流行的Web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。

  • WinRunner

    Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。企业级应用可能包括Web应用系统,ERP系统,CRM系统等等。这些系统在发布之前,升级之后都要经过测试,确保所有功能都能正常运行,没有任何错误。如何有效地测试不断升级更新且不同环境的应用系统,是每个公司都会面临的问题。

  • Rational Robot

    是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面IBM Rational Test Manager上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。

  • AdventNet QEngine

    AdventNet QEngine是一个应用广泛且独立于平台的自动化软件测试工具,可用于Web功能测试、web性能测试、Java应用功能测试、Java API测试、SOAP测试、回归测试和Java应用性能测试。支持对于使用HTML、JSP、ASP、.NET、PHP、JavaScript/VBScript、XML、SOAP、WSDL、e-commerce、传统客户端/服务器等开发的应用程序进行测试。此工具以Java开发,因此便于移植和提供多平台支持。

  • SilkTest

    是业界领先的、用于对企业级应用进行功能测试的产品,可用于测试Web、Java或是传统的C/S结构。SilkTest提供了许多功能,使用户能够高效率地进行软件自动化测试。这些功能包括:测试的计划和管理;直接的数据库访问及校验;灵活、强大的4Test脚本语言,内置的恢复系统(Recovery System);以及具有使用同一套脚本进行跨平台、跨浏览器和技术进行测试的能力。

  • QA Run

    QARun的测试实现方式是通过鼠标移动、键盘点击操作被测应用,即而得到相应的测试脚本,对该脚本可以进行编辑和调试。在记录的过程中可针对被测应用中所包含的功能点进行基线值的建立,换句话说就是在插入检查点的同时建立期望值。在这里检查点是目标系统的一个特殊方面在一特定点的期望状态。通常,检查点在QARun提示目标系统执行一系列事件之后被执行。检查点用于确定实际结果与期望结果是否相同

  • Test Partner

    是一个自动化的功能测试工具,它专为测试基于微软、Java和Web技术的复杂应用而设计。它使测试人员和开发人员都可以使用可视的脚本编制和自动向导来生成可重复的测试,用户可以调用VBA的所有功能,并进行任何水平层次和细节的测试。TestPartner的脚本开发采用通用的、分层的方式来进行。没有编程知识的测试人员也可以通过TestPartner的可视化导航器来快速创建测试并执行。通过可视的导航器录制并回放测试,每一个测试都将被展示为树状结构,以清楚地显现测试通过应用的路径。

  • Holodeck

    强大的故障植入软件测试工具。Holodeck is an advanced fault-injection tool that gives you the power to attack an application while it monitors and logs everything your application does - every function call, registry entry, piece of data read or written.

  • Telelogic TAU

    TAU第二代包含三个最新的、最强大的技术用来加速大规模软件开发和测试:统一建模语言(UML)及它的许多最新修订版本中的特性,UML2.0;功能强大的测试语言TTCN-3和新的构造系统的方法:Model Driven Architecture(模型驱动构架)。这三个新的业界标准结合成TAU的已经过认可的软件开发平台,形成了一个系统,一个一流的稳定可靠的工具解决方案。TAU第二代是系统与软件开发解决方案的一个突破,它把业界从使用了太长时间的手工、易出错、以代码为中心的方法中释放出来,自然而然地迈向下一步,一个更加可视化、自动化及可靠的开发方法。Telelogic TAU/Tester是基于通用测试语言TTCN-3,用于自动化的系统和集成测试的强大工具。TAU/Tester以现代化的开发工具为基础,提供高层测试功能,支持整个测试生命周期,加速自动化测试。TAU/Tester可使用户特别关注于测试的开发,因为TTCN-3语言是独立于开发语言或测试设备的,且是抽象和可移植的。

  • AutoRunner

    AutoRunner是黑盒测试工具,可以用来完成功能测试、回归测试,可以提高测试效率,降低测试人工成本。

    产品可以对以下类型对象进行GUI功能性测试:

    • Windows类型对象,一般为用C++/Delphi/VB/VFP/PB/.NetForm等技术开发的桌面程序。

    • IE网页对象,一般性的网站,比如大的门户类网站。

    • Java对象,一般为用AWT/Swing/SWT等技术开发的桌面程序。

    • Flex对象,网页的内容是用Flex开发的。

    • Silverlight对象,网页的内容是用Silverlight开发的。

    • WPF对象,一般为用WPF技术开发的桌面程序。

    • QT对象,一般为用QT技术开发的桌面程序。

  • Phoenix Framework

    Phoenix Framework是一款基于 Selenium,Webdriver,autoIt研发的一款集资源管理和测试于一体的Web自动化测试工具。最新版本是1.1.8,该工具支持无脚本执行模式,无人值守执行模式,自由定制模式。不仅执行模式可以定制,功能模块也支持定制。使用该工具的界面创建用例,组装脚本,启动执行。使用该工具其他开放的接口,可手动创建脚本,组装并执行。它支持两种部署模式,第一种是Server-Client方式,Server与Client均为EXE程序,通信协议是Socket;另一种是WEB版部署,方便与现有系统集成,支持Linux,将Server与Client放到Tomcat或Weblogic服务器下部署,通信协议为Http,通过WEB页面控制并监控Client端的执行。

缺陷管理

对于系统中存在的缺陷,将通过MANTIS BT MANTIS BT 是一个基于 PHP技术的轻量级的开源缺陷跟踪系统)进行记录,并在测试完成后导出测试报告,并在后期持续对缺陷的变更历史进行持续跟踪,直到缺陷被完全修复为止。陷的变更历史进行持续跟踪,直到缺陷被完全修复为止。同时,将缺陷备份记录,以供后同时,将缺陷备份记录,以供后续回归测试。续回归测试。

测试指标

简介

软件测试指标是一种定量测量,有助于估计软件测试工作的进度,质量和健康状况。度量标准以定量的形式定义系统,系统组件或流程拥有给定属性的程度。理解指标的理想示例是汽车的每周里程数与制造商推荐的理想里程数相比。软件测试指标或软件测试测量是过程或产品的某些属性的范围,容量,维度,数量或大小的定量指示。软件测试测量示例
:缺陷总数。

作用

  • 为下一阶段的活动做出决定

  • 索赔或预测的证据

  • 了解所需的改进类型

  • 做出决策或流程或技术变革

分类

  • 流程指标:可用于提高SDLC(软件开发生命周期)的流程效率

  • 产品指标:它涉及软件产品的质量

  • 项目指标:它可用于衡量项目团队的效率或团队成员使用的任何测试工具

  • 修复指标准备的目标受众

  • 定义指标的目标

  • 根据项目需求介绍所有相关指标

  • 分析每个指标的成本效益方面以及产生最大输出的项目生活方式阶段

在这里插入图片描述

测试指标生命周期

表3-1 测试指标生命周期
度量生命周期的不同阶段每个阶段的步骤
分析识别指标 定义已识别的指标
通信向利益相关方和测试团队解释度量标准的必要性 向测试团队介绍需要捕获的数据点以处理指标
评估捕获并验证数据 使用捕获的数据计算度量值
报告编写报告并得出有效结论 将报告分发给利益相关者和相关代表 从利益相关者那里获得反馈

测试指标计算

  • 返工努力率 = (在该阶段花费的实际返工工作 / 在该阶段花费的总实际工作量)*
    100

  • 要求变化 = ( 要求总数 / 初始要求数)* 100

  • 附表差异 = (实际努力 - 估计的努力量)/ 估计的努力量)* 100

  • 在测试中发现缺陷的成本 = (测试中花费的总工作量 / 测试中发现的缺陷)

  • 计划滑点 = (实际结束日期 - 估计结束日期)/(计划结束日期 - 计划开始日期)*
    100

  • 测试案例百分比 =(通过的测试次数 / 执行的测试总数)* 100

  • 测试用例百分比失败 =(测试失败次数 / 执行的测试总数)* 100

  • 被阻塞的测试用例百分比 =(被阻塞的测试次数 / 执行的测试总数)* 100

  • 固定缺陷百分比 =(报告的缺陷固定 / 缺陷)* 100

  • 接受的缺陷百分比 =(开发团队接受的缺陷 / 报告的总缺陷)* 100

  • 缺陷递延百分比 =(未来发布的缺陷 / 报告的缺陷总数)* 100

  • 严重缺陷百分比 =(报告的严重缺陷 / 总缺陷)* 100

  • 开发团队修复缺陷的平均时间 =(错误修正所需的总时间 / 错误数)

  • 每个时间段运行的测试次数 = 运行的测试次数 / 总时间

  • 测试设计效率 = 设计的测试次数/总时间

  • 测试审查效率 = 审查的测试次数 / 总时间

  • Bug find rote或每个测试小时的缺陷数量 = 缺陷总数 / 测试小时总数报告

报告

按照软件的测试计划按时交付如下测试文档:

  • 《G25高校教学系统测试计划》

  • 《G25高校教学系统测试用例》

  • 《G25高校教学系统测试漏洞报告》

  • 《G25高校教学系统测试报告》

准入准出条件

测试准入条件

  • 开发人员编码结束,并已完成在开发环境中完成单元测试

  • 项目能够通过构建验证测试和冒烟测试

  • 需求原型上规定的功能均已实现(如未完全实现,也已经提供了测试范围),代码符合软件编码规范。

  • 测试计划已经过审核并确定了基准

  • 测试用例已经过审查并以基线为基准

  • 已明确定义任何质量保证环境要求

测试准出条件

  • 被测项目满足软件需求说明书的要求

  • 所有的测试用来已经被成功执行,测试覆盖率达到100

  • 所有发现的缺陷都已经成功被记录在缺陷管理系统中

  • 所有存在的重大缺陷都已经被解决或重新被修正

  • 所有的遗留问题都已有解决方案

  • 安全性测试达到要求

  • 产出系统测试的总结报告

暂停和恢复标准

  • 在进行系统测试时,发现程序存在重大缺陷(一级缺陷超过2个)或缺陷过多时(二级缺陷超过4个)使得测试无法正常进行,应当暂停测试返回开发

  • 被测项目需暂停以进行调整时,应当暂停测试,并备份暂停点数据

  • 存在其他优先级更高的任务时,可以申请暂停测试

  • 被测项目在其开发生命周期内出现重大估算、进度偏差,需暂停或终止时,测试应随之暂停或终止,并备份暂停或终止点数据

  • 被测系统经过系统测试,达到系统测试准出标准,可以停止测试

  • 被测系统经过系统测试,并已产出系统测试总结报告,可以停止测试

  • 当重大缺陷被解决或程序得以修正,可以恢复测试

  • 当优先级更高的任务被完成时,可以恢复测试

  • 当软件项目被调整后重新启动时,测试应随之恢复

测试环境

系统硬件

服务器端

表5-1 服务器硬件配置
项目说明
服务器阿里云
处理器Intel® Xeon® Platinum 8163 CPU @ 2.50GHz
核数4
内存8GB RAM
缓存33792KB
硬盘40GB SSD
带宽5Mbps
地址大小46 bits physical, 48 bits virtual
操作系统Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-31-generic x86_64)
数据库MySQL Ver 8.0.21-0ubuntu0.20.04.4 for Linux on x86_64 ((Ubuntu))

客户端

表5-2 博主本人的客户端硬件配置
项目信息
供应商LENOVO
操作系统Windows 10 Pro 64-bit (10.0, Build 18363)
系统模型20LBA01KCD
BIOS版本N27ET32W (1.18 ) (type: UEFI)
处理器Intel® Core™ i5-8350U CPU @ 1.70GHz (8 CPUs), ~1.9GHz
内存20.00GBRAM
硬盘256GB SSD 1.0TB HDD
显卡Intel® UHD Graphics 620 NVIDIA Quadro P500
显示器名称:Wide viewing angle & High density FlexView Display 1920x1080 分辨率(刷新频率):1920 x 1080§ (59.977Hz)
名称:Generic PnP MonitorAOC2701 分辨率(刷新频率):1920 x 1080§ (60.000Hz)
名称:Generic PnP Monitor DELL U2518D 分辨率(刷新频率):2560 x 1440§ (59.951Hz)
网络Microsoft ATSC Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001Microsoft DVBC Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001Microsoft DVBS Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001Microsoft DVBT Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001Microsoft Network Provider,0x00200000,0,1,MSNP.ax,10.00.18362.0001
鼠标Logitech M330
键盘MOTOSPEED GK89
表5-3 队员xxx的客户端硬件配置
项目信息
供应商LENOVO
操作系统Windows 10 家庭中文版64位(10.0,版本18363)
系统模型81BV
BIOS版本6MCN14WW
处理器Intel® Core™ i7-8550U CPU @ 1.80GHz (8 CPUs), ~2.0GHz
内存8192MB RAM
硬盘256GB SSD 1.0TB HDD
显卡Intel® UHD Graphics 620
显示器名称:Intel® UHD Graphics 620 桌面分辨率:1920*1080 有源信号分辨率:1920*1080 刷新频率:60Hz 位深度:8位 颜色格式:RGB 颜色空间:标准动态范围(SDR)
网络Microsoft ATSC Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001 Microsoft DVBC Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001 Microsoft DVBS Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001 Microsoft DVBT Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001 Microsoft Network Provider,0x00200000,0,1,MSNP.ax,10.00.18362.0001
鼠标HID-compliant mouse
键盘HID Keyboard Device PS/2 标准键盘
表5-4 队员xxx的客户端硬件配置
项目信息
供应商LENOVO
操作系统Windows 10 家庭中文版64位(10.0,版本18363)
系统模型81BS
BIOS版本5ZCN31WW
处理器Inter® Core™ i7-850U CPU @ 1.80GHz (8 CPUs), ~2.0GHz
内存8192MB RAM
硬盘
显卡Inter® UHD Graphics 620 NVIDIA GeForce MX150
显示器显示器1:已连接到Intel® UHD Graphics 620 桌面分辨率:1920×1080 有源信号分辨率:1920×1080 刷新频率(Hz):59Hz 位深度:8位 颜色格式:RGB 颜色空间:标准动态范围(SDR)
网络Microsoft ATSC Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001 Microsoft DVBC Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001 Microsoft DVBS Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001 Microsoft DVBT Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001 Microsoft Network Provider,0x00200000,0,1,MSNP.ax,10.00.18362.0001
鼠标ThinkLife WLC200-M
键盘
表5-5 队员xxx的客户端硬件配置
项目信息
供应商DELL
操作系统Windows 10 家庭中文版
系统模型基于x64的电脑
BIOS版本BIOS 版本/日期 Dell Inc. 1.1.6
处理器Intel® Core™ i7-8550U CPU @ 1.80GHz 1.99GHz
内存8.0GB RAM
硬盘SK hynix SC311 SATA 128GB ST1000LM035-1RK172
显卡NVIDIA GeForce MX150
显示器Intel® UHD Graphics 620
网络Bluetooth Device(PAN) #2 Qualcomm QCA61x4A 802.11ac Wireless Adapter Realtek Pcle GBE Family Controller Sangfor SSL VPN CS Support System VNIC TAP-Windows Adapter V9
鼠标HID-compliant mouse
键盘HID Keyboard Device
表5-6 队员xxx的客户端硬件配置
项目信息
供应商HUAWEI
操作系统WINDOWS10家庭中文版64位(10.0,版本18363)
系统模型VLE-WX0
BIOS版本1.22
处理器Intel® Core™ i5-8250U @ 1.60GHz(8 CPUs), ~1.8GHz
内存8192MB RAM
硬盘256GB SSD 1.0TB HDD
显卡Intel® UHD Graphics 620
显示器Generic PnP Monitor
网络
鼠标PS/2标准鼠标
键盘PS/2标准键盘
表5-7 队员xxx的客户端硬件配置
项目信息
供应商Apple
操作系统MacOS High Sierra 10.13.6
系统模型
BIOS版本
处理器3.1 GHz Intel Core i5
内存8 GB 2133 MHz LPDDR3
硬盘
显卡Intel Iris Plus Graphics 650 1536 MB
显示器13.3-英寸 (2560 x 1600) Intel Iris Plus Graphics 650 1536 MB 图形卡
网络无线网卡 802.11a/b/g/n/ac 以太网: 802.11ac 1333 Mbps
鼠标
键盘

测试环境中的软件因素

表5-8 端软件配置
项目说明
浏览器Google Chrome, Microsoft Edge, Firefox, Safari, Opera
数据库MySQL Ver 8.0.21-0ubuntu0.20.04.4 for Linux on x86_64 ((Ubuntu))
测试数据由测试团队设计

职责、人员配置和培训需求

人员角色

测试团队:xxx

角色配置与职责分配表:

表6-1 角色配置与职责分配
角色建议人数具体职责或意见
测试经理1提供管理监督。 职责包括: 规划与物流 同意任务 确定动机 获得适当的资源 目前的管理报告 提倡考试利益 评估测试工作的有效性
测试分析师3确定并定义要进行的特定测试。 职责包括: 确定测试思路 定义测试细节 确定测试结果 文件变更要求 评估产品质量
测试设计师3定义实施测试工作的技术方法。 职责包括: 定义测试方法 定义测试自动化架构 验证测试技术 定义可测试性元素 结构测试实施
测试仪6实施并执行测试。 职责包括: 实施测试和测试套件 执行测试套件 记录结果 分析并从测试失败中恢复 文件事件
测试系统管理员2确保测试环境和资产得到管理和维护。 职责包括: 管理测试管理系统 安装并支持对测试环境配置和的访问和恢复
数据库管理员2确保测试数据(数据库)环境和资产得到管理和维护。 职责包括: 支持测试数据和测试床(数据库)的管理
测试设计师3标识并定义测试类的操作,属性和关联。 职责包括: 定义支持测试团队定义的可测试性要求所需的测试类
实施者6对测试类和测试包进行实施和单元测试。 职责包括: 创建支持设计人员定义的可测性要求所需的测试组件

人员配置和培训需求

  • 测试人员配置:xxx

  • 系统培训:系统整合后完成各个模块所有基本路径的测试,覆盖到系统所有功能,同时阅读系统使用说明书和相关的过程性文档。

  • 测试方法培训:学习黑盒测试、白盒测试、边界值测试等测试方法。

  • 测试工具培训:学习单元测试、容量测试、压力测试、性能测试等测试理念,并熟练使用Rational
    Test Manager、bugzilla、JEST、Jmeter、Rational Function Tester的使用方法。

关键项目/阶段里程碑

表7-1 关键项目/阶段里程碑
里程碑计划开始日期实际开始日期计划结束日期实际结束
项目/阶段开始2020.12.012020.12.012020.12.012020.12.01
同意SQA 计划2020.12.022020.12.022020.12.032020.12.04
所需测试资源2020.12.042020.12.042020.12.042020.12.04
测试团队培训完成2020.12.052020.12.052020.12.052020.12.05
需求基线2020.12.062020.12.062020.12.062020.12.06
测试用例设计基线2020.12.072020.12.072020.12.072020.12.07
QA-周期1 建造验收测试执行2020.12.082020.12.082020.12.082020.12.09
QA-循环1 功能测试执行2020.12.102020.12.102020.12.102020.12.10
QA-第2周期 建造验收测试执行2020.12.112020.12.112020.12.112020.12.11
QA-循环2 功能测试执行2020.12.122020.12.122020.12.122020.12.13
QA-回归测试执行2020.12.142020.12.142020.12.152020.12.15
QA性能/故障转移测试执行2020.12.162020.12.162020.12.182020.12.18
QA最终集成构建测试执行2020.12.192020.12.192020.12.212020.12.21
项目状态评估评审2020.12.222020.12.222020.12.232020.12.23
项目/阶段结束2020.12.242020.12.242020.12.242020.12.24

风险,依赖关系,假设和约束

表8-1 风险,依赖关系,假设和约束
风险缓解策略应急 (风险已实现)
不符合先决条件<测试人员>将定义在开始负载测试之前必须满足的先决条件 <客户>将努力满足<测试人员>指示的先决条件满足出色的先决条件考虑负载测试失败
测试数据证明不足<客户>将确保提供完整的适当且受保护的测试数据 <测试人员>将指示要求的内容,并验证测试数据的适用性重新定义测试数据查看测试计划并修改组件(脚本或测试软件设置)考虑负载测试失败
数据库需要刷新<系统管理员>将努力确保按<测试人员>的要求定期刷新数据库恢复数据并 重新启动清除数据库
需求风险<客户>重新提供明确的需求 <测试人员>重新设计测试计划无需求风险 测试计划失败
时间风险<测试人员>重新设计测试计划无时间风险 测试计划失败
测试人员培训不足<测试人员>重新按照测试计划进行培训更换测试人员
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值