shell

前端之家收集整理的这篇文章主要介绍了shell前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

利用linux shell script来测试linux c程序------脚本自动化测试用例代替手动测试用例

原创 2015年05月16日 23:21:17

我们来看一个简单的C程序:

  1. #include<stdio.h>
  2. #include<string.h>
  3. intisGoodString(constchar*p)
  4. {
  5. if(strstr(p,"Good"))
  6. {
  7. return0;
  8. }
  9. return-1;
  10. }
  11. intmain(intargc,char*argv[])
  12. {
  13. if(2!=argc)
  14. {
  15. printf("paraerror\n");
  16. return-1;
  17. }
  18. if(0==isGoodString(argv[1]))
  19. {
  20. printf("yes\n");
  21. return0;
  22. }
  23. printf("no\n");
  24. return1;
  25. }
现在, 我们来测试一下:
  1. [taoge@localhostlearn_c]$gcctest.c
  2. [taoge@localhostlearn_c]$./a.out
  3. paraerror
  4. [taoge@localhostlearn_c]$./a.out12
  5. no
  6. [taoge@localhostlearn_c]$./a.outgood
  7. no
  8. [taoge@localhostlearn_c]$./a.outGood123
  9. yes
  10. [taoge@localhostlearn_c]$./a.outGood
  11. yes
  12. [taoge@localhostlearn_c]$

我们可以看到, 这些测试用例是手动的。 手动测试用例的缺点是:

1. 手动测试用例不便于保存(假设一个月后, 要再测一遍, 还得再敲一次。 当然, 你可能说, 你会保存这些文本, 但那样也需要复制命令到shell中重新运行)

2. 手动测试用例很麻烦, 稍微不注意就会出错,没有一气呵成的感觉, 不利于自动化测试。


对了, 前面不是一直在说脚本脚本么, 现在用脚本来搞一下自动化测试用例:

  1. #!/bin/sh
  2. $1
  3. echo""
  4. x=good
  5. echo"$x"
  6. $1"$x"
  7. x=goodbye
  8. echo"$x"
  9. $1"$x"
  10. x=Good
  11. echo"$x"
  12. $1"$x"
  13. x=Goodbye
  14. echo"$x"
  15. $1"$x"
  16. x="Goodbye"
  17. echo"$x"
  18. $1"$x"

结果为:
  1. [taoge@localhostlearn_c]$ls
  2. a.outtest.ctest.sh
  3. [taoge@localhostlearn_c]$./test.sh./a.out
  4. paraerror
  5. good
  6. no
  7. goodbye
  8. no
  9. Good
  10. yes
  11. Goodbye
  12. yes
  13. Goodbye
  14. yes
  15. [taoge@localhostlearn_c]$
自动化, 真是好啊, 一劳永逸。 原文链接:https://www.f2er.com/bash/389424.html

猜你在找的Bash相关文章