文章目录

  • 第五章 手工测试之APP项目
    • 一、APP概念
      • APP应用系统架构
    • 二、APP项目环境
      • 1.开发环境
      • 2.测试环境
      • 3.预发布环境
      • 4.生产环境
      • 5.灰度发布
      • 6.前台发布生产环境
      • 7.发布平台
    • 三、互联网行业
      • 1.行业特点
      • 2.产品开发特点
      • 3.降低项目风险,确保正确的方向
      • 4.结论
    • 四、敏捷开发
      • 1.概念
      • 2.框架模型
      • 3.SCRUM
    • 五、敏捷测试流程(一次迭代)
      • 1.需求分析与评审(重点)
      • 2.编辑测试计划(测试方案)
      • 3.设计测试用例与评审
      • 4.执行测试用例与缺陷跟踪
      • 5.编写测试报告
    • 六、测试范围(重点)
      • 1.业务功能测试
      • 2.APP专项测试
    • 七、学车不APP
      • 1.学车不APP项目说明(了解)
      • 2.APP应用测试要点(理解)
        • 2.1业务功能测试
        • 2.2兼容性测试
        • 2.3安装卸载升级测试
        • 2.4交叉事件测试
        • 2.5push消息测试
        • 2.6性能测试(CPU、内存、流畅度、流量、电量、启动速度)
        • 2.7用户体验测试
        • 2.8稳定性测试
      • 3.APP测试总结

第五章 手工测试之APP项目

一、APP概念

APP应用系统架构

用户==》客户端应用《=http/json/xnal=》web服务器《==》数据库访问《=SQL=》数据库

相同点

'''
1、APP和web使用的后端服务器是相同的
2、前后端都使用HTTP协议进行交互
'''

不同点

'''
1、APP是C/S结构,web浏览器是B/S结构
2、APP前后端交互的数据格式以json为主,web前后端交互的数据格式以HTML为主
'''

二、APP项目环境

一般公司内部开发、测试人员会使用不同的环境,以隔离工作过程中彼此之间的干扰。同时,上线给用户使用的产品也会单独部署环境。

1.开发环境

指开发人员进行开发时调试运行的环境

2.测试环境

提供测试人员使用,用于测试人员执行测试,回归缺陷

打包提测

'''
ios:IPA测试包
android:APK测试包
'''

内侧发布平台

'''
蒲公英
fir.im
'''

3.预发布环境

这个环境中,一般会连接生产环境的数据库,使用生产环境的数据来进行测试。

4.生产环境

指正式提供对外服务的环境,产品的实际用户使用的环境

5.灰度发布

'''
预发布环境过后,正式发布生产环境之前,一般会进行灰度发布。
由于一个项目,一般线上部署时有多台机器运行,所以灰度1台至三台,看看新功能是否0K,如果失败则只需要回滚几台,比较方便。
注意点:一般情况下 切一小部分流量验证时间一周至一个月之间如果运行无问题,在某个流量少的时刻,不停机更新服务器环境如果运行有问题,尽快定位问题,并修复问题;如果问题比较严重,需要回滚代码,保障线上用户正常使用
'''

6.前台发布生产环境

线上发布平台

'''
IOS: appstore、itools
Android:豌豆荚、360、 各大手机厂商的发布平台等。
'''

线上发布流程

'''
Apk/ipa测试完成
提交应用市场审核
添加渠道号
渠道包测试
正式上线
'''

7.发布平台

内侧发布平台

'''
蒲公英
fir.im
'''

线上发布平台

'''
IOS: appstore、itools
Android:豌豆荚、360、 各大手机厂商的发布平台等。
'''

三、互联网行业

1.行业特点

'''
以快吃慢
追求创新
需求高度不确定性
'''

2.产品开发特点

新需求、新方向

3.降低项目风险,确保正确的方向

快速的反馈机制、快速试错

4.结论

'''
移动互联网行业发展速度快,
需求不断变化,
产品更新迭代的频率高
'''

四、敏捷开发

1.概念

'''
敏捷开发以用户的需求进化为核心,采用迭代,循序渐进的方法进行软件开发。 即将项目切分为多个子项目,每个子项目单独发布,保证软件较早可用  及时收集用户反馈,调整未发布的项目,满足用户的实际需要  代表性的敏捷开发模型:scrum在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视,可集成和可运行使用的特征。
换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
'''

2.框架模型

敏捷实践

'''
精益
看板
Scrum
XP极限编程
水晶
DSDM动态系统开发
FDD功能驱动开发
AUP敏捷统一过程
OpenUP
'''

敏捷原则(12条)

'''
1.最优先要做的是尽早、持续地交付有价值的软件,让客户满意。
2.欣然面对需求变化,即使在开发后期。敏捷过程利用变化为客户维持竞争的优势。
3.频繁地交付可工作的软件,从数周到数月,交付周期越短越好。
4.在团队内外,面对面交谈是最有效,也是最高效的沟通方式。
5.在整个项目过程中,业务人员必须和开发人员每天都在一起工作。
6.以受激励的个体为核心构建项目。为他们提供所需的环境和支持,相信他们可以把工作做好。
7.可工作的软件是衡量进度的首要标准。
8.敏捷过程倡导可持续开发。
9.坚持不懈的追求技术卓越和良好的设计,以此增强敏捷的能力。
10.简单是尽最大可能减少不必要工作的艺术,是敏捷的根本。
11.最好的架构、需求和设计来自自组织的团队。
12.团队定期反思如何提升效率,并依此调整自己的行为。
'''

参考:https://blog.csdn.net/hb5cn/article/details/81209938

价值观

'''
个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
'''

3.SCRUM

概念

'''
Scrum 是用于开发、交付和持续支持复杂产品的一个框架,是一个增量的、迭代的开发过程。
在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是一至四周。
在Scrum中,使用产品Backlog来管理产品的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。
Scrum团队总是先开发对客户具有较高价值的需求。
在Sprint中,Scrum团队从产品Backlog中挑选最高优先级的需求进行开发。
挑选的需求在Sprint计划会议上经过讨论、分析和估算得到相应的任务列表,我们称它为Sprint backlog。
在每个迭代结束时,Scrum团队将递交潜在可交付的产品增量。
Scrum起源于软件开发项目,但它适用于任何复杂的或是创新性的项目。
Scrum 目前已被用于开发软件、硬件、嵌入式软件、交互功能网络、自动驾驶、学校、政府、市场、管理组织运营,以及几乎我们(作为个体和群体)日常生活中所使用的一切。
'''

框架

'''
角色:产品负责人(Product Owner)Scrum Master开发团队工件:产品Backlog(Product Backlog)SprintBacklog产品增量(Increment)事件流程:Sprint(Sprint本身是一个事件,包括了如下4个事件)Sprint计划会议(Sprint Planning Meeting)每日站会(Daily Scrum Meeting)Sprint评审会议(Sprint Review Meeting)Sprint回顾会议(Sprint Retrospective Meeting)价值:承诺 – 愿意对目标做出承诺专注– 把你的心思和能力都用到你承诺的工作上去开放– Scrum 把项目中的一切开放给每个人看尊重– 每个人都有他独特的背景和经验勇气– 有勇气做出承诺,履行承诺,接受别人的尊重
'''

理论基础

'''
透明性
检验
适应
'''

scrum敏捷开发流程

'''
   1、产品负责人收集需求,转化为产品功能列表
   2、启动迭代的计划会,评审产品功能列表,挑选优先级高的需求作为迭代任务
   3、项目组成员完成迭代任务的开发、测试工作
   4、迭代结束后,开评审会,评估当前迭代任务的完成情况
   5、开反思会。总结迭代过程中的好的与不好的地方。
   下一迭代,循环2-5步
'''

五、敏捷测试流程(一次迭代)

1.需求分析与评审(重点)

需求

'''
阅读需求
理解需求
与客户、开发、架构多方交流,深入了解需求
'''

形式

参会人员

测试人员的职责

2.编辑测试计划(测试方案)

项目的功能模块

负责人和时间安排

测试环境

测试策略

风险评估

3.设计测试用例与评审

设计测试用例

'''
需求==>测试点==>测试用例步骤:需求分析拆分需求到测试点设计测试用例点赞评论上传图像业务场景与流程步骤:需求分析基本流程图(基本流与备选流)设计测试用例(一条流程路径就是一条测试用例,覆盖所有的测试路径)实名认证'''

评审

'''
同行评审
项目评审
'''

4.执行测试用例与缺陷跟踪

冒烟测试用例,开发执行

5.编写测试报告

'''
邮件形式
覆盖功能模块
测试用例覆盖率
缺陷统计/遗留缺陷情况
是否允许上线
'''

六、测试范围(重点)

1.业务功能测试

2.APP专项测试

兼容性

安装

七、学车不APP

1.学车不APP项目说明(了解)

熟悉项目

'''
   项目的作用:学车不app是一款手机学车软件   项目的用户和角色:学车的学员  项目的功能架构:
       按照APP的页面tab分成报名,学车,陪练,驾考圈,我的等功能模块
       每个tab中,再根据功能点进行逐级细分'''

2.APP应用测试要点(理解)

'''
   业务功能测试
   兼容性测试
   安装卸载升级测试
   交叉事件测试
   push消息测试
   性能测试(CPU、内存、流畅度、流量、电量、启动速度)
   用户体验测试
   稳定性测试
'''

2.1业务功能测试

显性需求

根据软件说明,设计文档或用户需求验证App的各个功能的实现。

隐性需求

'''
Ø 相关业务:功能影响到的相关业务Ø 其他角度:分支流程、逆向操作、异常操作Ø 补充精简:测试策略、业务知识、测试经验
'''

2.2兼容性测试

'''
   1、手机型号:覆盖市场主流手机型号   2、系统版本:
       Android:4.4,5.1,6.0。。。。。
       ios:9.0,10.0。。。。    3、屏幕分辨率:
       分辨率:1080*1920,720*1280。。。。
       尺寸:5.5 4.7 6.0  4、网络:
       2G、3G、4G、wifi  5、应用兼容性:
       (1)与手机硬件兼容
       (2)与外部硬件兼容
       (3)与手机操作系统软件兼容
       (4)与其他APP软件兼容'''

2.3安装卸载升级测试

安装

'''
   正常场景:
       1、不同的操作系统
       2、不同的安装渠道
       3、不同的安装路径  异常场景:
       1、安装时网络中断
       2、手机助手安装时已有高版本的APP
       3、手机助手安装时已在运行的APP
       4、安装时空间不足
       5、安装时手动取消再安装
       6、卸载后再安装'''

卸载

'''
   1、正常卸载(手机直接卸载、工具卸载)
   2、运行过程中卸载
   3、卸载中取消
   4、卸载中异常(断电)
   5、卸载无数据残留
'''

升级

'''
   1、从临时版本升级
   2、跨版本升级
   3、不同渠道升级
   4、升级时通过wifi或者4g升级
   5、升级提醒(提示升级、强制升级)
   升级后一定要观察APP的数据是否正常。
'''

2.4交叉事件测试

又称为干扰测试

'''
   指的是APP在操作过程中,另一个事件或者操作可能会对当前的APP操作产生干扰的测试。
   如何测试:模拟用户的场景,发散测试。
'''

2.5push消息测试

消息推送场景

'''
   产品角度:功能需要
   运营角度:活动需要
'''

消息推送原理

'''
   pull:客户端定期向服务器发出请求,有有新消息就返回给客户端
   push:服务器有消息就把消息推送给客户端(更省资源)
'''

push的实质

后端服务器——> APP(手机) ——> 用户

消息推送的方式

'''
   1、操作系统自建的push服务器
   2、第三方的push服务器
   3、自建push服务器(安全、稳定、高效、成本高)'''

消息推送的配置

'''
   后端服务器(服务器配置:决定推送的用户和业务规则)
   ——> APP(手机push配置:决定是否展示给用户或者如何展示)
   ——> 用户
'''

push消息的测试点

'''
   服务器配置
       1、push服务器设置推送的业务规则
       2、push服务器设置的对象,是否与实际接收的一致
   手机端配置
       3、如果设置不接受push,收不到push消息
       4、设置接收,并设置接收位置,按照配置展示push消息
       5、push消息能正常打开
   APP不同状态下push消息测试:
       6、app在前台运行时,弹出push消息
       7、app在后台运行时,给出push消息提示
       8、app离线时,是否收到push(push消息有生命周期)
'''

2.6性能测试(CPU、内存、流畅度、流量、电量、启动速度)

关注点

CPU、内存、流量、电量、启动速度、流畅度

GT工具的基本介绍

'''
   性能测试工具GT的作用:
       监控常见的性能指标。CPU、内存、流量、电量、流畅度
       抓取log
       抓包 安装:
       单独安装(APK,ios无单独安装包)
       集成SDK(android,ios都可以,集成到被测app代码)
'''

GT工具的基本使用

'''
   安装:手机有root权限
   (1)进入AUT界面,配置要监控的指标
   (2)进入参数页面,选择要统计的参数,选择需要实时监控的数据
   (3)配置日志开头为logcat为on
   (4)进入APP进行测试
   (5)回到GT界面,在参数界面看查看监控指标的数据统计
   (6)进入日志,查看响应的日志记录
'''

性能测试—CPU指标说明

'''
CPU关键指标:
   CPU使用率:
   用户态:应用程序占用的CPU时间
   系统态:系统内核占用的CPU时间
   空闲态:空闲进程占用的CPU时间(idle process)
   CPU使用率=非空闲态/CPU总时间=(用户态+系统态)/CPU总时间
   jiffies:
   从开机到目前为止应用程序占用的CPU的总时间片。
'''

CPU问题产生的影响

'''
   CPU问题产生的影响:即CPU出现问题的现象:
   1、CPU长时间超过90%
   2、手机发热、耗电量增加
   3、手机卡顿、出现ANR
'''

CPU测试的步骤

'''
   (1)打开GT,配置CPu的监控指标
   (2)进入被测APP,进行相关的业务操作
   (3)进入GT,查看CPU的监控统计(先看曲线图)
   (4)收集CPU详细数据并分析
'''

监控结果保存到目录文件

'''
监控结果保存到目录文件的步骤:
   (1)打开模拟器桌面上的 文件管理器
   (2)在文件管理器内,自己找你需要导出的文件,然后点击勾。
   (3)连续点击返回按钮,一直到文件管理器的根目录下
   (4)点击mnt文件夹,点击shared文件夹,然后点击other文件夹,再点击点击粘贴此选项。
   (5)出现表示粘贴成功,再点击我的电脑 按钮,点击打开文件夹,就可以看到刚刚保存的文件了
'''

内存指标说明

'''
内存关键指标:
   私有内存:进程独占的内存,在进程销毁的时候同步回收私有内存
   实际使用内存:除了私有内存以外,与其他进程共享的内存空间,在进程销毁的时候不能回收。
'''

常见的内存问题及现象

'''
内存问题:
   1、内存泄漏:程序操作时申请内存,操作结束后内存未全部释放
   2、内存溢出:程序操作时申请内存,但是此时内存不够,不能满足申请的要求,就出现内存溢出。内存问题出现的现象:
   1、实际使用内存PSS持续增长
   2、程序崩溃(出现crash)
'''

内存测试的步骤

'''
   1、打开GT工具,配置内存相关的指标
   2、打开被测APP,测试相关业务,监控内存指标
   3、打开GT,查看内存监控数据(曲线)
   4、收集内存相关的数据,并分析
'''

流畅度的基本知识说明

'''
   流畅度的重要指标:
       FPS:每秒渲染的帧数。
   流畅度问题的影响:
       表现形式:卡顿
       FPS指标的数据要求:
           通常要求在24帧/s以上,保证流畅。(10-12帧)
           最高60帧/s
'''

流畅度测试的步骤

'''
   1、打开GT,配置流畅度指标FPS
   2、打开被测APP,滑动页面,统计FPS值
   3、进入GT,查看流畅度曲线
   4、收集滑动操作时的流畅度数据,计算平均值。(24帧/s——60帧/s之间就是是正常的)
'''

流量的基本知识说明

'''
   流量:手机通过运营商上网时,运营商的网络替我们转发报文,报文包括上下行的报文。   测试流量的方法:
       1、流量统计(统计上下行的报文)
       2、抓包(fiddler、tcpdump)
'''

流量测试的步骤

'''
   (1)打开GT,配置流量指标NET
   (2)进入GT的插件tab,选择抓包,开始
   (3)进入被测APP,进行相关的业务测试
   (4)进入GT,查看NET指标的流量曲线
   (5)手机抓包的报文,进行进一步分析
'''

流量优化的方法

'''
   1、数据压缩
   2、不同的数据格式
   3、控制访问的频率
   4、只获取有效的数据
   5、缓存
   6、针对不同的网络情况使用不同的策略
'''

电量的基本知识说明

'''
电量测试:
   测试移动APP消耗电量的快慢速度。主要通过测试APP使用时的平均电流(对手机而言,总电量是固定的mAh),来计算APP电量消耗的大小。GT提供了几个指标:电流、电压、电量和温度常见的耗电场景:
   定位GPS
   网络传输(4G、wifi)
   屏幕亮度
   CPU频率
   内存调度机制
   锁屏、解锁
'''

电量测试的步骤

'''
   (1)打开GT,进入插件tab,点击电量收集
   (2)配置电量收集的频率、亮度、收集的数据指标
   (3)进入被测APP,进行相关的业务操作
   (4)进入GT,收集电量的相关数据来进行分析。
'''

电量结果的分析

'''
   (1)与基准数据做对比(可以来源于产品经理、或者来源于历史数据积累)
   (2)横向对比(竞品分析对比)
'''

APP启动的两种方式

'''
   冷启动:app从后台被杀死,此时再打开app,记录app启动的时间
   热启动:app在后台运行,此时再打开app,记录APP启动的时间
'''

APP启动时间的测试方法

'''
adb命令:adb shell am start -W -n 包名/Activity名(学车不为:com.bjcsxq.chat.carfriend/.module_main.activity.MainActivity)
三个重要时间指标:
   Thistime:当前activity的时间
   Totaltime:APP启动时间:包括创建进程、APP初始化、activity初始化到界面显示。
   waittime:totaltime+前一个activity pause时间
'''

APP启动时间结果的分析

'''
   (1)与基准数据对比(历史数据分析)
   (2)横向对比(竞品数据对比)
'''

2.7用户体验测试

关注点

'''
   (1)UI界面:对照UI交互设计文档
   (2)易用性:易学、易用、易操作
   (3)横竖屏测试
   (4)关注手机上相关辅助功能:可以重点关注“放大字体”、“反色”、“语音转换”、多点触碰等功能
'''

用户体验测试

'''
   主观的站在用户角度上来观察被测APP的可用、舒适、友好等方面。
   在测试提交问题的时候,要尽量具体描述。
   提交问题的时候,要提交为“建议”,可以不修改或者修改优先级放低
'''

2.8稳定性测试

'''
定义:
   通过长时间的完全无序操作,验证被测测试是否会出现异常。(系统crash、ANR)稳定性测试工具:
   Monkey稳定性测试时机:
   一般需要在测试后期,系统稳定以后,才进行稳定性测试。
'''

3.APP测试总结

'''
如何测试APP?
   1、业务功能测试
   2、兼容性测试
   3、安装卸载升级测试
   4、交叉事件测试
   5、用户体验测试
   6、PUSH消息测试
   7、性能测试(CPU、内存、流量、电量、流畅度、启动速度)
   8、稳定性测试发布上线后,工作:
   跟踪用户反馈
   处理线上bug
   版本功能优化
'''

作者:吴常文
出处:https://editor.csdn.net/md?not_checkout=1&articleId=122240565
本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原

第五章 手工测试之APP项目相关推荐

  1. (深入.Net平台和C#编程)第五章.体检套餐管理项目.20170408

    -----------------------------------------------------体检项目类------------------------------------------ ...

  2. 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第五章:中级控件

    第 5 章 中级控件 本章介绍App开发常见的几类中级控件的用法,主要包括:如何定制几种简单的图形.如何使用几种选择按钮.如何高效地输入文本.如何利用对话框获取交互信息等,然后结合本章所学的知识,演示 ...

  3. mysql第五章项目二_Todo List:Node+Express 搭建服务端毗邻Mysql – 第五章(第1节)

    点击右上方红色按钮关注"web秀",让你真正秀起来 前言 万丈高楼平地起,我们的Todo List项目也是越来越结实了.Todo List的前面4章内容都是在为Client端开发, ...

  4. IT项目管理总结:第五章 项目范围管理

    第五章 项目范围管理 什么是项目范围管理 –范围(scope):指开发项目产品所涉及的所有工作和用来开展工作的所有过程 –可交付成果(deliverable):指作为项目的一部分而生产的产品 –项目范 ...

  5. 第五章项目整体管理重点--转载

    项目管理师教程第五章项目整体管理重点 整体管理是一项综合性和全局性的工作,对不同的活动和过程进行识别.定义.事合.统一和协调权衡的过程.决定什么时间把工作量分配在相应的资源上,哪些潜在的问题要及时处理 ...

  6. 信息系统项目管理师---第五章 项目范围管理

    信息系统项目管理师-第五章 项目范围管理 范围管理 一.范围管理概述 1.项目范围管理需要做以下三方面工作: (1)明确项目边界,明确那些再范围内,那些再范围外. (2)确保所有该做的工作都做了,而且 ...

  7. 【XJTUSE项目管理复习笔记】第五章 软件项目成本管理

    仅供学习参考,禁止商用与转载 项目管理复习笔记 第五章 软件项目成本管理 项目成本管理的主要过程 项目成本管理:包括用来确保在批准的预算范围内完成项目的必要过程 项目成本管理的主要过程:计划成本管理➡ ...

  8. 第五章-项目范围管理

    第五章:项目范围管理 5.项目范围管理 5.1 规划范围管理 5.1.1规划范围管理:输入 5.1.1.1 项目章程 5.1.1.2 项目管理计划 5.1.1.3 事业环境因素 5.1.1.4 组织过 ...

  9. 【信息系统项目管理师】第五章 项目范围管理(考点汇总篇)

    [信息系统项目管理师]第五章 项目范围管理(考点汇总篇) ■考点分析与预测 项目范围管理一般上午考察3分,需求是龙头,是做项目管理的基础.没有需求就不能确定项目的范围,没有范围,项目就无从谈起,此部分 ...

最新文章

  1. huggingface实操_盘点2018年度GtiHub开源项目TOP 25
  2. 操作系统学习:内存分页与中断
  3. Water Research:南科大夏雨+唐圆圆-台风对深圳沿海微塑料和微塑圈的影响
  4. python从random生成列表_Python 学习DAY 17 列表生成式,生成器,迭代器,time模块,random模块...
  5. macpro台式计算机,Mac Pro正式上架 真的可以用来刨土豆丝
  6. python 安装echarts
  7. 清华大学医学院 | 体外成熟人卵单细胞多组学研究及总结干细胞分化为配子进展文章...
  8. 【转】 linux的网络接口之扫盲
  9. apache storm 1.0.0 新特性
  10. anaconda 创建,激活,退出,删除环境
  11. Gantt - attachEvent事件监听 - 两个参数事件
  12. 离散数学(五):命题逻辑的推理理论
  13. 把PDF/AZW/EPUB转成图片
  14. 初学者自学计算机软件,中望CAD初学者自学宝典
  15. layui 导航栏设置无鼠标停留特效_五款最受欢迎的热门wordpress开源主题 - 博客、导航...
  16. matlab教程simulink,MatlabSimulink教程课件.ppt
  17. android 动态壁纸 时钟,Android动态时钟壁纸开发
  18. 博弈论(五)——#10247. 「一本通 6.7 练习 4」S-Nim
  19. Hadoop运维记录系列(十九)
  20. TPMS烧录器安装 SNP739

热门文章

  1. 思科模拟器入门基础-交换机端口链路聚合
  2. a豆独立的重要性 浅析华硕市场战略布局
  3. HTML列宽调整,调整表格中的列宽(CSS/HTML)
  4. C++编程法则100条(5)转换构造函数
  5. wepy2.0点击事件bug
  6. 什么是运营呢,谈谈你对运营的认识
  7. 图形上下,左右对称旋转代码
  8. Why I hate frameworks
  9. 二维各向同性介质弹性波数值模拟(交错网格有限差分法)
  10. C语言中malloc函数及free函数用法(定义动态数组及释放)