在Python学习笔记上一篇中自顶向下 设计http://www.jianshu.com/writer#/notebooks/22555591/notes/24640313
自底向上的执行
自顶向下的设计
从顶层开始分解问题为更小的问题进行求解
自底想上的执行
从底层模块开始一个一个进行测试
程序写好后,需要通过运行程序进行测试
- 单元测试
小规模程序
直接运行
中等规模
从就结构图底层开始,逐步上升
先运行每个基本函数,在测试整体函数
较大规模
高级软件测试方法
- 体育竞技分析框架
#matchSim.py
from randon import random
def main():
def printIntro():
def getInput():
def simNGames():
def simOneGame():
def gameOver():
if __name__ == '__main__':
main()
- 体育竞技分析的例子
gameOver单元测试
(1):>>>importmatchSim
>>>matchSim.gameOver(0,0)
False
(2): >>>matchSim.gameOver(5,10)
False
(3): >>>matchSim.gameOver(15,3)
True
(4): >>>matchSim.gameOver(3,15)
True
simOneGame单元测试
(1) >>>importmatchSim
>>>matchSim.simOneGame(.5,.5)
(13,15)
(2) >>>matchSim.simOneGame(.5,.5)
(15,11)
(3) >>>matchSim.simOneGame(.3,.3)
(15,11)
(4) >>>matchSim.simOneGame(.3,.3)
(11,15)
- 模拟结果:
>>>matchSim.py
What is the prob.player A wins? .65
What is the prob.player B wins? .6
How many games to simulate? 5000
Games simulated:5000
wins for A:3360(67.2%)
wins for B:1640(32.8%)