互聯網金融P2P主業務場景自動化測試

互聯網金融P2P行業,近三年來發展迅速,如火如荼。
據不完全統計,全國有3000+的企業。
“互聯網+”企業,幾乎每天都會碰到一些奇奇怪怪的bug,作為在互聯網企業工作的測試人員,風險和壓力都巨大。那么我們如何降低風險呢?
P2P主要的業務場景概括地說有6個,請看下圖:
我的想法是做成生產者-消費者模式,類似一個生態系統,將不會對測試環境造成不良影響。
假設發標僅受這些輸入參數的影響:
Parameters:
項目類型
[XX寶,?XX貸,?projectC,?projectD]
期限單位
[天,?月]
還款方式
[到期還本付息,?按月付息到期還本,?月N日還息到期還本,?等額本息,?還款方式5]
道具
[coupon1,?coupon2,?coupon3,?coupon4,?coupon5]
下面我們先設計一下發標自動化測試用例吧:
如果考慮以上四個參數的各種組合影響,使用窮舉法。將會有4*2*5*5=200。呵呵,如果是手工做功能測試的話,單是發200個標也要耗費不少的時間。
當然我們是理性的人,不是人傻時間多。我們可以使用ACTS工具,該工具很牛叉,使用的是IPOG算法。通過該工具我們可以得到最優的25個用例,如下:
Relations:????
?????
Test?Case#項目類型期限單位還款方式道具
?????
0XX貸到期還本付息coupon1
1projectC到期還本付息coupon2
2projectD到期還本付息coupon3
3XX寶到期還本付息coupon4
4XX貸到期還本付息coupon5
5projectC按月付息到期還本coupon1
6projectD按月付息到期還本coupon2
7XX寶按月付息到期還本coupon3
8XX貸按月付息到期還本coupon4
9projectC按月付息到期還本coupon5
10projectD月N日還息到期還本coupon1
11XX寶月N日還息到期還本coupon2
12XX貸月N日還息到期還本coupon3
13projectC月N日還息到期還本coupon4
14projectD月N日還息到期還本coupon5
15XX寶等額本息coupon1
16XX貸等額本息coupon2
17projectC等額本息coupon3
18projectD等額本息coupon4
19XX寶等額本息coupon5
20XX貸還款方式5coupon1
21projectC還款方式5coupon2
22projectD還款方式5coupon3
23XX寶還款方式5coupon4
24XX寶還款方式5coupon5
我們通過多種方式發布這25個項目,如果是在ui上,建議使用selenium,將這25個項目信息錄入到csv。測試腳本讀取csv,可以每日不停的發項目,發布后記錄下項目id。
現在生產者有了,是時候考慮消費者了。如果生產者生產出來的是項目,那么消費者就是我們的投資客戶。
為了更好的一一對應,我們就制造出25個投資客戶。步驟是:
注冊->綁定郵箱->實名認證->充值-》發放道具
準備數據的過程也很簡單。
客戶道具
??
甲子coupon1
乙丑coupon2
丙寅coupon3
丁卯coupon4
戊辰coupon5
己巳coupon1
庚午coupon2
辛未coupon3
壬申coupon4
癸酉coupon5
甲戌coupon1
乙亥coupon2
丙子coupon3
丁丑coupon4
戊寅coupon5
己卯coupon1
庚辰coupon2
辛巳coupon3
壬午coupon4
癸未coupon5
甲申coupon1
乙酉coupon2
丙戌coupon3
丁亥coupon4
戊子coupon5
最后,這25個投資用戶與25個項目對號入座,意思就是用戶甲子使用道具投資XX貸的這個項目,過程中我們將檢驗各種流水,得出一個這樣的測試結果:
TestResult?Case#項目類型期限單位還款方式道具客戶測試結果
???????
0XX貸到期還本付息coupon1甲子
1projectC到期還本付息coupon2乙丑
2projectD到期還本付息coupon3丙寅
3XX寶到期還本付息coupon4丁卯
4XX貸到期還本付息coupon5戊辰
5projectC按月付息到期還本coupon1己巳
6projectD按月付息到期還本coupon2庚午
7XX寶按月付息到期還本coupon3辛未
8XX貸按月付息到期還本coupon4壬申
9projectC按月付息到期還本coupon5癸酉
10projectD月N日還息到期還本coupon1甲戌
11XX寶月N日還息到期還本coupon2乙亥
12XX貸月N日還息到期還本coupon3丙子
13projectC月N日還息到期還本coupon4丁丑
14projectD月N日還息到期還本coupon5戊寅
15XX寶等額本息coupon1己卯
16XX貸等額本息coupon2庚辰
17projectC等額本息coupon3辛巳
18projectD等額本息coupon4壬午
19XX寶等額本息coupon5癸未
20XX貸還款方式5coupon1甲申
21projectC還款方式5coupon2乙酉
22projectD還款方式5coupon3丙戌
23XX寶還款方式5coupon4丁亥
24XX寶還款方式5coupon5戊子
這樣的話,每一次發布,我們都可以做到覆蓋這幾個流程了
那么,剩下的就是還款和提現了。
還款通常要做成作業服務,當然測試環境還是得實現,不可能某個項目的期限是30天,要等到30天后才還款,所以還款的參數需要可控到還款日期(業務發生日期)和操作時間。
提現就更簡單了。

?

轉載于:https://www.cnblogs.com/yicaifeitian/p/4761263.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374576.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374576.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374576.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OSGi將Maven與Equinox結合使用

很長時間以來,我一直在努力理解OSGi的真正含義。 它已經存在很長時間了,但是沒有多少人意識到這一點。 人們已經大肆宣傳它是一種非常復雜的技術。 這是我為所有Java開發人員簡化的嘗試。 簡而言之, OSGi是一組規范,這些規范允許對…

note05-計算機網絡

5.網絡安全 被動攻擊(UDP報文被截獲 被 進行流量分析) 主動攻擊 1.篡改(更改報文流 偽報文) 2.惡意程序(病毒、木馬、蠕蟲、炸彈) 3.拒絕服務Dos 密碼體制 1.對稱密鑰密碼體制(DES IDEA) 即加密和解密的密鑰K相同 2.公鑰密碼體制(RSA) A加密使用PKB公鑰 B解密使用對應的私鑰SK…

825. 適齡的朋友

適齡的朋友 在社交媒體網站上有 n 個用戶。給你一個整數數組 ages &#xff0c;其中 ages[i] 是第 i 個用戶的年齡。 如果下述任意一個條件為真&#xff0c;那么用戶 x 將不會向用戶 y&#xff08;x ! y&#xff09;發送好友請求&#xff1a; age[y] < 0.5 * age[x] 7 ag…

struts2設置文件上傳大小

利用struts2想要設置或者限制上傳文件的大小,可以在struts.xml配置文件里面進行如下配置: <constant name"struts.multipart.maxSize" value"10000000" /> 上面這句話的意思是設置文件上傳大小&#xff0c;最大不超過9.8M。計算方式如下&#xff1a;…

Java命名約定

我想寫這篇簡短的文章來幫助某些難以記住Java API類和方法名稱的人。 如您所知&#xff0c;Java是區分大小寫的語言&#xff0c;要構建Java程序&#xff0c;您需要使用許多內置API類和方法。 而且&#xff0c;初學者發現很難準確地記住方法名稱和類名稱而不改變大小寫。 但是實…

smarty引擎之練習

關于smarty最直觀的感受就是分離了頁面中html和php的代碼&#xff0c;頁面不再混亂&#xff0c;很清晰了…… smarty->assign();//注冊 smarty->display();//加載模板 除了老師給的表&#xff0c;kemu,nandu,type都建了表格&#xff0c;便于使用 main.php <?phpinclu…

Heron 論文翻譯及理解

Heron 論文翻譯及理解 背景介紹&#xff1a; Heron是號稱Twitter流數據處理的新一代實現&#xff0c;是StormV2。我們首先回顧一下Storm系統的問題 worker日志混亂&#xff0c;如果一個bolt日志過大&#xff0c;會沖掉其他bolt的日志worker之間因為沒有資源隔離&#xff0c;因此…

1688比賽中的配對次數

給你一個整數 n &#xff0c;表示比賽中的隊伍數。比賽遵循一種獨特的賽制&#xff1a; 如果當前隊伍數是 偶數 &#xff0c;那么每支隊伍都會與另一支隊伍配對。總共進行 n / 2 場比賽&#xff0c;且產生 n / 2 支隊伍進入下一輪。 如果當前隊伍數為 奇數 &#xff0c;那么將…

Hadoop:簡單介紹

什么是Hadoop&#xff1a; Hadoop是一種用Java編寫的框架&#xff0c;用于在大型商品硬件集群上運行應用程序&#xff0c;并具有類似于Google File System和MapReduce的功能 。 HDFS是高度容錯的分布式文件系統&#xff0c;與Hadoop一樣&#xff0c;旨在部署在低成本硬件上。 它…

PHP中__get()和__set()的用法實例詳

剛剛看到一個對我有用的文章&#xff0c;我就把它摘抄下來了。 php面向對象_get(),_set()的用法 一般來說&#xff0c;總是把類的屬性定義為private&#xff0c;這更符合現實的邏輯。但是&#xff0c;對屬性的讀取和賦值操作是非常頻繁的&#xff0c;因此在PHP5中&#xff0…

Javascript 異步編程的4種方法

你可能知道&#xff0c;Javascript語言的執行環境是"單線程"&#xff08;single thread&#xff09;。 所謂"單線程"&#xff0c;就是指一次只能完成一件任務。如果有多個任務&#xff0c;就必須排隊&#xff0c;前面一個任務完成&#xff0c;再執行后面一…

力扣奇偶鏈表

給定單鏈表的頭節點 head &#xff0c;將所有索引為奇數的節點和索引為偶數的節點分別組合在一起&#xff0c;然后返回重新排序的列表。 第一個節點的索引被認為是 奇數 &#xff0c; 第二個節點的索引為 偶數 &#xff0c;以此類推。 請注意&#xff0c;偶數組和奇數組內部的…

JAVA入門之方法

所謂方法&#xff0c;就是用來解決一類問題的代碼的有序組合&#xff0c;是一個功能模塊。 一般情況下&#xff0c;定義一個方法的語法是&#xff1a; 其中&#xff1a; 1、 訪問修飾符&#xff1a;方法允許被訪問的權限范圍&#xff0c; 可以是 public、protected、private 甚…

使用Netbeans開發App Engine Java

如果您剛開始進行App引擎開發&#xff0c;那么您可能會感覺Eclipse是首選的IDE。 而且&#xff0c;Google還單獨提供了它的Eclipse IDE 官方插件 。 但是不使用Eclipse的人呢&#xff1f; 當然&#xff0c;您始終可以進行命令行開發&#xff0c;但是現在這些人是誰&#xff01;…

JAVA基本類庫介紹

我們曾經講過&#xff0c;Java已經為編程者編制了許多類&#xff0c;這些類已經經過測試&#xff0c;基本上不存在錯誤&#xff0c;這些類都是我們編程的基礎。如果不利用這些已存在的類&#xff0c;我們的 編程工作將變得異常復雜&#xff0c;所以我們應盡可能多的掌握Java基本…

力扣回文鏈表

給你一個單鏈表的頭節點 head &#xff0c;請你判斷該鏈表是否為回文鏈表。如果是&#xff0c;返回 true &#xff1b;否則&#xff0c;返回 false 。 class Solution {public boolean isPalindrome(ListNode head) {List<Integer> res new ArrayList<Integer>()…

JAVA運算符和優先級

1、算術運算符&#xff1a; 和 -- 既可以出現在操作數的左邊&#xff0c;也可以出現在右邊&#xff0c;但結果是不同&#xff0c;如&#xff1a; ①int a5&#xff1b;int ba&#xff1b; #先把a賦給b&#xff0c;a再自增 ②int a5&#xff1b;int ba&#xff1b;   #a先…

將JSON功能添加到您的GWT應用程序中

JSON簡介 在Web應用程序上工作時&#xff0c;總是會出現客戶端-服務器數據交換的問題。 在此問題上有多種方法&#xff0c;其中許多使用XML進行交換。 執行此任務的一種不太知名的格式是JSON。 JSON&#xff08;JavaScript對象表示法&#xff09;是一種輕量級的數據交換格式。…

win10資源管理器怎么打開_讓你效率倍增的電腦神器,最強資源管理器增強工具「QTTabBar」...

前言Windows 自帶的資源管理器的功能比較簡單&#xff0c;夠用是夠用了&#xff0c;但有時也確實無法滿足我們對更便捷高效的操作方式的追求。「QTTabBar」正是一個非常強大的 Windows 資源管理器增強工具&#xff01;不僅支持多標簽頁管理&#xff0c;還有許多便捷的擴展功能&…

android橫向滑動選擇的view

做文字編輯&#xff0c;從網上找來的。 HorizontalScrollSelectView&#xff1a; public boolean mAlwaysOverrideTouch true;protected ListAdapter mAdapter;private int mLeftViewIndex -1;private int mRightViewIndex 0;protected int mCurrentX;protected int mNextX;…