日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

变异函数 python_使用Python进行变异测试

發布時間:2023/12/15 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 变异函数 python_使用Python进行变异测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

變異函數 python

We need to kill the mutants — no, I’m not a villain from the X-Men comics. I’m a software engineer who wants to improve unit tests.

我們需要殺死這些突變體-不,我不是X戰警漫畫中的反派。 我是一位軟件工程師,希望改善單元測試。

In this article you will learn what mutation testing is and how it can help you to write better tests. The examples are for Python, but the concepts hold in general and in the end I have a list of tools in other languages.

在本文中,您將學習什么是突變測試以及它如何幫助您編寫更好的測試。 這些示例是針對Python的,但是這些概念是通用的,最后我有了其他語言的工具列表。

為什么我們需要進行突變測試? (Why do we need mutation testing?)

Unit tests have the issue that it’s unclear when your tests are good enough. Do you cover the important edge cases? How do you test the quality of your unit tests?

單元測試存在一個問題,即您的測試何時足夠好尚不清楚。 您涵蓋重要的案例嗎? 您如何測試單元測試的質量?

Typical mistakes are slight confusions. Accessing list[i] instead of list[i-1] , letting the loop run for i < n instead of i <= n , initializing a variable with None instead of the empty string. There are a lot of those slight changes which are usually just called “typos” or “off-by-one” mistakes. When I make them, I often didn’t think about the part thoroughly enough.

典型的錯誤是輕微的混亂。 訪問list[i]而不是list[i-1] ,讓循環在i < n而不是i <= n ,并使用None而不是空字符串初始化變量。 許多細微的變化通常被稱為“ 錯別字 ”或“ 一對一 ”錯誤。 當我制作它們時,我常常沒有充分地考慮零件。

Mutation testing tests your unit tests. The key idea is to apply those minor changes and run the unit tests that could fail. If a unit test fails, the mutant was killed. Which is what we want. It shows that this kind of off-by-one mistake cannot happen with our test suite. Of course, we assume that the unit tests themselves are correct or at worst incomplete. Hence you can see a mutation test as an alternative to test coverage. In contrast to test coverage, the mutation testing toolkit can directly show you places and types of mistakes you would not cover right now.

變異測試會測試您的單元測試 。 關鍵思想是應用這些較小的更改并運行可能失敗的單元測試。 如果單元測試失敗,則突變體被殺死。 這就是我們想要的。 它表明,我們的測試套件不可能發生這種一次性的錯誤。 當然,我們假設單元測試本身是正確的,或者最糟糕的是不完整。 因此,您可以看到變異測試可以替代測試覆蓋率。 與測試覆蓋率相反,變異測試工具包可以直接向您顯示您現在不會覆蓋的錯誤的位置和類型。

有哪些突變測試工具? (Which mutation testing tools are there?)

There are a couple of tools like cosmic-ray, but Anders Hovm?ller did a pretty amazing job by creating mutmut. As of August 2020, mutmut is the best library for Python to do mutation testing.

有一對夫婦像宇宙射線的工具,但安德斯Hovm?ller通過創建mutmut做了非常了不起的工作。 截至2020年8月,mutmut是Python進行突變測試的最佳庫。

To run the examples in this article, you have to install mutmut:

要運行本文中的示例,您必須安裝mutmut :

pip install mutmut

In other languages, you might want to try these:

使用其他語言,您可能需要嘗試以下方法:

  • C / C++: mull

    C / C ++: 仔細考慮

  • Java: PIT (GitHub)

    Java: PIT ( GitHub )

  • JavaScript: Stryker

    JavaScript: Stryker

  • PHP: Infection (formerly called humbug)

    PHP: 感染 (以前稱為humbug)

  • Ruby: mutant

    Ruby: 突變體

  • Rust: mutagen

    Rust: 誘變劑

  • Swift: muter

    斯威夫特: 靜音

為什么分支和線路覆蓋范圍不夠? (Why isn’t branch and line coverage enough?)

It is pretty easy to get to a high line coverage by creating bad tests. For example, take this code:

通過創建不良測試,很容易獲得較高的覆蓋率。 例如,使用以下代碼:

def fibonacci(n: int) -> int:
"""Get the n-th Fibonacci number, starting with 0 and 1."""
a, b = 0, 1
for _ in range(n):
a, b = b, a + b
return b # BUG! should be a!def test_fibonacci():
fibonacci(10)

This smoke test already adds some value as it makes sure that things are not crashing for a single input. However, it would not find any logic bug. There is an assert statement missing. This pattern can quickly drive up the line coverage up to 100%, but you are then still lacking good tests.

此煙霧測試已經增加了一些價值,因為它可以確保單個輸入不會崩潰。 但是,它不會發現任何邏輯錯誤。 缺少assert語句。 這種模式可以快速將線路覆蓋率提高到100%,但是您仍然缺乏良好的測試。

A mutation test cannot be fooled as easily. It would mutate the code and, for example, initialize b with 0 instead of 1:

突變測試不容易被愚弄。 它將使代碼突變,例如,將b初始化為0而不是1:

- a, b = 0, 1
+ a, b = 0, 0

The test would still succeed and thus the mutant would survive. Which means the mutation testing framework would complain that this line was not properly tested. In other words:

測試仍將成功,因此突變體將存活。 這意味著變異測試框架會抱怨此行未正確測試。 換一種說法:

Mutation testing provides another way to get a more rigid line coverage. It can still not guarantee that a tested line is correct, but it can show you potential bugs that your current test suite would not detect.

變異測試提供了獲得更嚴格的線覆蓋率的另一種方法。 它仍然不能保證測試的行是正確的,但是可以顯示當前測試套件無法檢測到的潛在錯誤。

創建突變體! (Create the mutants!)

As always, I use my small mpu library as an example. At the moment, it has a 99% branch and 99% line coverage.

與往常一樣,我以我的小型mpu庫為例。 目前,它具有99%的分支和99%的線路覆蓋率。

$ mutmut run- Mutation testing starting -These are the steps:
1. A full test suite run will be made to make sure we
can run the tests successfully and we know how long
it takes (to detect infinite loops for example)
2. Mutants will be generated and checkedResults are stored in .mutmut-cache.
Print found mutants with `mutmut results`.Legend for output:
🎉 Killed mutants. The goal is for everything to end up in this bucket.
? Timeout. Test suite took 10 times as long as the baseline so were killed.
🤔 Suspicious. Tests took a long time, but not long enough to be fatal.
🙁 Survived. This means your tests needs to be expanded.
🔇 Skipped. Skipped.1. Running tests without mutations
? Running...Done2. Checking mutants
? 1818/1818 🎉 1303 ? 1 🤔 6 🙁 508 🔇 0

This takes over 1.5 hours for mpu. mpu is a small project, with only about 2000 lines of code:

對于MPU,這需要1.5個小時以上。 mpu是一個小項目,只有大約2000行代碼:

Language files blank comment code
---------------------------------------------------------------
Python 22 681 1399 2046

One pytest run of the mpu example project takes roughly 9 seconds and the slowest 3 tests are:

mppu示例項目的pytest運行大約需要9秒,最慢的3個測試是:

1.03s call tests/test_main.py::test_parallel_for
0.80s call tests/test_string.py::test_is_email
0.41s call tests/test_io.py::test_download_without_path

In the end, you will see how many mutants were successfully killed (🎉), how many received a timeout (?) and which ones survived (😕). Especially the timeout ones are annoying as they make the mutmut runs slower, but the code and the tests might still be fine.

最后,您將看到成功殺死了多少個突變體(🎉),有多少突變體超時(?),還有哪些幸存下來(😕)。 尤其是超時的代碼令人討厭,因為它們會使mutmut的運行速度變慢,但是代碼和測試可能仍然不錯。

應用哪些突變? (Which mutations are applied?)

mutmut 2.0 creates the following mutants (source):

mutmut 2.0創建以下變量( 源 ):

  • Operator mutations: About 30 different patterns like replacing + by - , * by ** and similar, but also > by >= .

    運算子突變 :大約30種不同的模式,例如用+替換- , *替換**和類似**以及>替換>= 。

  • Keyword mutations: Replacing True by False , in by not in and similar.

    關鍵字突變 :用False代替True ,用not in代替in not in并且類似。

  • Number mutations: You can write things like 0b100 which is the same as 4, 0o100, which is 64, 0x100 which is 256, .12 which is 0.12 and similar. The number mutations try to capture mistakes in this area. mutmut simply adds 1 to the number.

    數突變 :你可以寫的東西像0b100是一樣的4 , 0o100 ,這是64個, 0x100這是256, .12是0.12和類似。 數字突變試圖捕獲該區域中的錯誤。 mutmut只是將數字加1。

  • Name mutations: The name mutations capture copy vs deepcopy and "" vs None .

    名稱突變 :名稱突變捕獲copy vs deepcopy copy和"" vs None 。

  • Argument mutations: Replaces keyword arguments one by one from dict(a=b) to dict(aXXX=b).

    參數突變 :將關鍵字參數從dict(a=b)到dict(aXXX=b) 。

  • or_test and and_test: and ? or

    or_test和and_test : and ? or

  • String mutation: Adding XX to the string.

    字符串突變 :在字符串中添加XX 。

Those can be grouped into three very different kinds of mutations: value mutations (string mutation, number mutation), decision mutations (switch if-else blocks, e.g. the or_test / and_test and the keyword mutations) and statement mutations (removing or changing a line of code).

可以將它們分為三種非常不同的突變: 值突變 (字符串突變,數字突變), 決策突變 (切換if-else塊,例如or_test / and_test和關鍵字突變)和語句突變(刪除或更改行)代碼)。

The value mutations are most often false-positive for me. I’m not certain if I could write my code or my tests in another way to fix this. I’ve briefly discussed it with the library author, but apparently he does not have the same issue. If you’re interested in that discussion, see issue #175.

價值突變對我來說通常是假陽性。 我不確定是否可以用其他方式編寫代碼或測試來解決此問題。 我已經與庫作者進行了簡短的討論,但是顯然他沒有相同的問題。 如果您對此討論感興趣,請參閱問題#175 。

如何獲取帶有mutmutHTML報告? (How can I get a HTML report with mutmut?)

$ mutmut html

gives you

給你

Index page of the mutmut HTML report. Image by Martin Thoma.mutmut HTML報告的索引頁。 圖片由Martin Thoma提供。 The complete pd.py report. Image by Martin Thoma.完整的pd.py報告。 圖片由Martin Thoma提供。

As you can see, the index claims that 108 mutants survived and the HTML report only shows one. That one is also a false-positive as a change in the logging message does not cause any issue.

如您所見,該索引聲稱有108個突變體幸存下來,而HTML報告僅顯示了一個。 這也是一個假陽性,因為日志消息中的更改不會引起任何問題。

Alternatively, you can use the junit XML to generate a report:

另外,您可以使用junit XML生成報告:

$ pip install junit2html
$ mutmut junitxml > mutmut-results.xml
$ junit2html mutmut-results.xml mutmut-report.html

The report shows this index page:

該報告顯示此索引頁面:

Test report generated from JUnit XML. Image by Martin Thoma從JUnit XML生成的測試報告。 圖片由Martin Thoma提供

Clicking on one mutant, you gets this:

單擊一個突變體,您將得到:

Mutant #3 was killed, but mutant #4 survived. I did not use the global variable “countries” anywhere in the tests. Image by Martin Thoma.#3突變體被殺死,但#4突變體幸存下來。 我在測試中的任何地方都沒有使用全局變量“國家”。 圖片由Martin Thoma提供。

The issue with this generated HTML report is that it shows many results for a single line of code and no grouping. If the failures were grouped by file and if one could see the code in which lines with surviving mutants would be highlighted, it would be way more useful.

生成HTML報告的問題在于,它在一行代碼中顯示了許多結果,但沒有分組。 如果將失敗按文件進行分組,并且可以看到突出顯示幸存的突變體行的代碼,則將更加有用。

機器學習系統的變異測試 (Mutation Testing for Machine Learning Systems)

I’ve searched for cool applications of machine learning to generate mutants in code, but I’ve only found “Machine Learning Approach in Mutation Testing” from 2012 (12 citations).

我一直在尋找機器學習的涼爽應用,以在代碼中生成突變體,但從2012年起我才發現“突變測試中的機器學習方法”(被引用12次)。

I was hoping to find data-based code mutant generation techniques. For example, one could search for git commits which are bug fixes by examining the commit message. If the fix is rather short, this is a kind of mutation one could test for. Instead of generating all possible mutants, one could sample from the mutants in a way to first take the most promising ones; the ones that are most likely not perceived as a false-positive.

我希望找到基于數據的代碼突變體生成技術。 例如,可以通過檢查提交消息來搜索git提交,這些提交是錯誤修復程序。 如果修復程序很短,則這是一種可以測試的突變。 與其生成所有可能的突變體,不如從突變體中取樣,首先選擇最有希望的突變體。 最有可能不會被認為是假陽性的人。

Other work was more focused on making machine learning systems more robust (DeepMutation, DeepGauge, an Evaluation). I don’t know this stream of work well enough to write about it. But it sounds similar to techniques I know:

其他工作更多地集中在使機器學習系統更強大( DeepMutation , DeepGauge , 評估 )。 我不知道這方面的工作足夠好來寫。 但這聽起來類似于我所知道的技術:

  • To overcome scarcity in training data, various data augmentation techniques such as rotations, flips, or color adjustments are applied. You can actually see those as mutations.

    為了克服訓練數據中的稀缺性,應用了各種數據 增強技術,例如旋轉,翻轉或顏色調整。 您實際上可以將其視為變異。

  • Also, in the GAN setting where you have a generator and a discriminator, you could argue that the generator produces mutants and the discriminator should tell them apart.

    同樣,在GAN設置中有生成器和鑒別器的情況下,您可能會爭辯說生成器會產生突變體,并且鑒別器應將它們區分開。

  • In order to force the network to learn more robust features, a technique called dropout (Tensorflow, Lasagne)is commonly used. You could say that a part of the input or the internal representation is randomly mutated by setting it to zero

    為了迫使網絡學習更強大的功能 ,通常使用一種稱為“ dropout” ( Tensorflow , Lasagne )的技術。 您可以說,通過將輸入或內部表示的一部分設置為零可以對其進行隨機變異

想更多地了解單元測試嗎? (Want to know more about unit testing?)

In this series, we already had:

在本系列中,我們已經有:

  • Part 1: The basics of Unit Testing in Python

    第1部分: Python單元測試的基礎

  • Part 2: Patching, Mocks and Dependency Injection

    第2部分: 修補,模擬和依賴注入

  • Part 3: How to test Flask applications with Databases, Templates and Protected Pages

    第3部分: 如何使用數據庫,模板和受保護的頁面測試Flask應用程序

  • Part 4: tox and nox

    第4部分: 有毒和無毒

  • Part 5: Structuring Unit Tests

    第5部分: 結構單元測試

  • Part 6: CI-Pipelines

    第6部分: CI管道

  • Part 7: Property-based Testing

    第7部分: 基于屬性的測試

  • Part 8: Mutation Testing

    第8部分:變異測試

In future articles, I will present:

在以后的文章中,我將介紹:

  • Static Code Analysis: Linters, Type Checking, and Code Complexity

    靜態代碼分析:Linter,類型檢查和代碼復雜度

Let me know if you’re interested in other topics around testing with Python.

讓我知道您是否對使用Python測試有關的其他主題感興趣。

翻譯自: https://medium.com/analytics-vidhya/unit-testing-in-python-mutation-testing-7a70143180d8

變異函數 python

總結

以上是生活随笔為你收集整理的变异函数 python_使用Python进行变异测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

精品久久久久久国产 | 亚洲精品一区二区精华 | av网站大全免费 | 日韩中出在线 | 国产精品高潮呻吟久久久久 | 欧美性脚交 | 91中文在线| 久久老司机精品视频 | 午夜av日韩 | 国产 欧美 在线 | 亚洲综合色激情五月 | 久久超级碰视频 | 亚洲精品乱码久久久久久蜜桃91 | 国产99久久久欧美黑人 | 亚洲男男gⅴgay双龙 | 伊人婷婷色 | 欧美一区二区伦理片 | 97超碰在线久草超碰在线观看 | 日韩av影视在线 | 国产精品久久网 | 中文字幕 影院 | 美女露久久 | 色香网 | 亚洲精品在线国产 | 亚洲免费小视频 | 玖玖999 | 欧美日韩国内在线 | www视频在线播放 | 久久黄色a级片 | 精品久久亚洲 | 久久久精品在线观看 | 亚洲精品久久久久中文字幕二区 | 久一在线 | 色婷婷www | 中文字幕一区二区三区精华液 | 久久艹中文字幕 | 激情影院在线 | 色婷婷丁香 | 久久午夜羞羞影院 | 九九久久视频 | 日本久久视频 | 国产精品一区二区美女视频免费看 | 国产精品免费不 | 久久伊人91| 中文字幕永久 | 欧美一区二区三区在线观看 | 亚洲午夜av | 免费亚洲一区二区 | 中文字幕亚洲欧美日韩2019 | 午夜美女wwww| 精品国产综合区久久久久久 | 91在线看免费| 91视频啊啊啊 | 国产 欧美 日本 | 国产麻豆电影在线观看 | 久久久久一区二区三区 | 欧美成人手机版 | 久久精品一区二区三区中文字幕 | 永久免费av在线播放 | 国产小视频在线免费观看视频 | 久久久影院一区二区三区 | 福利二区视频 | 中文字幕影视 | 成人av在线看 | 欧美成人亚洲成人 | 91视频在线 | 久久综合九色综合97婷婷女人 | 在线 视频 亚洲 | 麻豆一二三精选视频 | 88av色 | 一区二区三区免费在线观看视频 | 精品国产1区二区 | 91天堂影院 | 97人人射 | 996久久国产精品线观看 | 国产成人av片 | 国产精品三级视频 | 国产永久免费 | 欧美日韩在线视频免费 | 亚洲精品国产精品国自产观看 | 狠狠久久综合 | 91色国产 | 在线免费成人 | 色婷婷视频 | 久久99精品国产麻豆宅宅 | 亚洲 欧洲 国产 日本 综合 | 伊人色综合久久天天网 | 国产成人福利片 | 日韩精品中文字幕有码 | a视频在线 | 高清不卡免费视频 | 超碰午夜 | 国产无遮挡猛进猛出免费软件 | 91在线观看黄 | 欧美激情精品久久久久 | 欧美巨大荫蒂茸毛毛人妖 | 玖玖玖在线观看 | www..com黄色片 | 日韩一区二区三区在线观看 | 国产精品第一 | 国产精品激情偷乱一区二区∴ | 日韩日韩日韩日韩 | 国产大尺度视频 | 91视视频在线直接观看在线看网页在线看 | 伊人永久在线 | 国产精品久久艹 | 亚洲国产资源 | 国产成人一区二区三区免费看 | 丁香久久五月 | 亚洲最新av网址 | 色狠狠综合天天综合综合 | 国产在线色 | 夜夜高潮夜夜爽国产伦精品 | av在线成人 | 国产精品久久久久婷婷 | 国产一区二区免费 | 欧美性生活一级片 | 免费在线播放av电影 | 亚洲电影av在线 | 夜夜爽天天爽 | 日韩精品免费一区二区三区 | 中文字幕乱码一区二区 | 亚洲高清国产视频 | 欧美日韩国产一区二区在线观看 | 丁香婷婷自拍 | 国产精品成人久久久久 | 天天插天天操天天干 | 日日综合 | 国产黄色理论片 | 区一区二区三区中文字幕 | 国产视频在线观看一区二区 | 色资源中文字幕 | 国产亚洲精品精品精品 | 免费国产在线精品 | 免费在线国产精品 | 丁香婷婷射 | 狠狠色噜噜狠狠 | 国产免费观看高清完整版 | 午夜狠狠操 | 日本99干网 | 日韩在线观看网址 | 亚洲欧美在线视频免费 | 久久久91精品国产一区二区三区 | 亚洲成人免费观看 | 日韩.com| 香蕉视频网站在线观看 | 国产免费又黄又爽 | 国产精品麻豆99久久久久久 | 成 人 黄 色 视频 免费观看 | 欧美黄污视频 | 99精品热视频只有精品10 | 99久久国产免费,99久久国产免费大片 | 操操综合 | 午夜精品久久久久久久久久 | 91九色自拍 | 特级毛片在线 | 日韩大片免费在线观看 | www久久国产| 黄色av免费电影 | 色婷婷视频在线观看 | 久久久久久久久久久福利 | 欧美精品黑人性xxxx | 久久公开免费视频 | 久久深爱网 | 国产色视频一区 | 亚洲精选视频在线 | 天天干夜夜干 | 成人午夜精品久久久久久久3d | 亚洲一区黄色 | 国产成年免费视频 | 国产五月婷 | 欧美男同视频网站 | 亚洲日本在线一区 | 国产日产亚洲精华av | 精品亚洲va在线va天堂资源站 | 91精品色| 精品国产视频在线 | 午夜国产福利在线 | 国产网红在线 | 日韩精品在线免费播放 | 日韩av电影国产 | 在线视频专区 | 国产成人一级电影 | 麻豆国产精品一区二区三区 | 天天躁天天狠天天透 | 天天色天天操综合 | 中文有码在线 | 亚洲永久在线 | 91视频一8mav | 美女免费视频一区 | 日韩激情精品 | 亚洲国产精品久久久久 | 欧美精品一区在线 | 国产精品成人国产乱一区 | 99久久激情视频 | 久久精美视频 | 亚洲欧美一区二区三区孕妇写真 | 二区视频在线观看 | 亚洲综合黄色 | 久久综合亚洲鲁鲁五月久久 | 一区 在线观看 | 成人夜晚看av | 久久国产精品99久久久久久进口 | 99这里只有精品视频 | 黄视频色网站 | 99色婷婷| 四川妇女搡bbbb搡bbbb搡 | 91探花系列在线播放 | 色综合中文综合网 | www·22com天天操 | 六月丁香激情综合 | 五月天激情综合 | 亚洲人天堂 | 日日草夜夜操 | 天天操天天操天天爽 | 免费观看成年人视频 | 激情久久伊人 | 国产码电影 | 久久国产欧美日韩 | 日韩av视屏 | 天天射天天爽 | 最近中文字幕大全中文字幕免费 | 日韩簧片在线观看 | 久久97精品 | 在线国产福利 | 免费亚洲黄色 | 久久九九国产视频 | 国产 日韩 欧美 中文 在线播放 | 久久久久久久久久影院 | 亚洲视频高清 | 久久av一区二区三区亚洲 | 日韩av成人在线观看 | av资源免费观看 | 成人黄色av免费在线观看 | 中文字幕精 | 天天操夜夜叫 | 国产成人精品999在线观看 | 菠萝菠萝蜜在线播放 | 九九爱免费视频在线观看 | 久久精品免费播放 | 色香天天| 国产三级国产精品国产专区50 | 精品国产一区二区三区av性色 | 免费毛片一区二区三区久久久 | 国产又粗又猛又爽又黄的视频先 | 91成年人在线观看 | 一区二区视频欧美 | 久久福利剧场 | 丝袜一区在线 | 久久九九影视 | 丝袜美腿一区 | 亚洲国产美女精品久久久久∴ | 91传媒91久久久 | www.色午夜,com | 91网站在线视频 | 91精品小视频 | 午夜神马福利 | 欧美日韩一级久久久久久免费看 | 99re8这里有精品热视频免费 | 久章操 | 又黄又爽又色无遮挡免费 | 日韩黄色网络 | 啪啪肉肉污av国网站 | a黄色一级 | 久久调教视频 | 美女视频是黄的免费观看 | 人人草在线视频 | 色精品视频 | 久久久五月婷婷 | 在线免费日韩 | 国产精品短视频 | 黄色影院在线免费观看 | 国产69精品久久久久9999apgf | 国产一区91 | 九九热.com| 亚洲一区黄色 | 国产午夜精品久久 | 激情综合久久 | 日韩激情综合 | 精品中文字幕视频 | 福利av在线| 国产日产欧美在线观看 | 99成人免费视频 | 一级黄毛片 | 免费看麻豆| 久草网站在线 | 久久高清国产视频 | 成人国产精品免费观看 | 中文字幕美女免费在线 | 天天综合导航 | 国产精品露脸在线 | 久久激情视频 久久 | 久草在线最新 | 久久亚洲区 | japanesexxxxfreehd乱熟 | 手机成人在线 | 精品av在线播放 | 中文字幕亚洲国产 | 国产精品女同一区二区三区久久夜 | av中文资源在线 | 欧美一级电影 | 国产精品精品国产色婷婷 | 亚洲天堂精品视频 | 亚洲三级在线免费观看 | 少妇性aaaaaaaaa视频 | 高清有码中文字幕 | 黄av在线 | 亚州精品国产 | 欧美一级黄色片 | 日韩一区在线播放 | 国产视频一区在线免费观看 | 国产精品99久久久久的智能播放 | 久久在线 | 日本中文字幕在线看 | 国产成人高清av | av国产在线观看 | 九九在线免费视频 | av字幕在线 | 69视频国产 | 国产手机在线观看 | av超碰在线观看 | 国产精品去看片 | 天天干.com| 97av视频| 97超碰在线免费观看 | 99爱爱| 99久久日韩精品免费热麻豆美女 | 亚洲视频在线观看网站 | 人人插人人费 | 久久亚洲综合国产精品99麻豆的功能介绍 | 狠狠干综合网 | 亚洲国产中文字幕 | 夜夜夜影院 | 国产一区视频导航 | 99久久精品无码一区二区毛片 | 日韩免费一区二区 | 国产欧美精品在线观看 | 国产四虎影院 | 综合久久网站 | 五月天六月丁香 | 亚洲一级黄色 | 亚洲一区二区三区四区精品 | 男女精品久久 | 免费亚洲视频在线观看 | 字幕网在线观看 | 日韩中文字幕一区 | 一级片免费视频 | 欧美日韩在线视频一区 | 午夜国产在线 | 国产精品毛片久久久久久久 | 在线91色| 涩涩色亚洲一区 | 天天曰天天干 | 91网页版在线观看 | 日韩在线免费高清视频 | 国产在线va | 日韩精品一区二区在线观看 | 国产三级精品三级在线观看 | av网站在线观看播放 | 久久久18 | av线上免费看 | 欧美一二区视频 | 国产精品国产三级国产aⅴ无密码 | 99情趣网视频| 黄色在线免费观看网址 | 日韩免费 | 久热电影| 蜜桃传媒一区二区 | 国产精品美女视频网站 | 激情婷婷欧美 | 国产在线更新 | av片在线看| 国产传媒中文字幕 | 欧美va天堂在线电影 | 色婷婷视频在线观看 | 99热最新地址 | 2019av在线视频 | 国产专区欧美专区 | 99精品国产在热久久下载 | 日韩午夜电影院 | 国内精品久久天天躁人人爽 | 亚洲精品视频在线观看网站 | 国产精品免费观看视频 | 日韩高清免费在线观看 | 在线欧美国产 | 日本中文字幕影院 | 人人插超碰 | 超级碰碰碰碰 | 日精品| 国产精品综合久久久久 | 在线免费观看国产 | 久草在线免费在线观看 | 91精品国产一区二区三区 | 国产97在线播放 | 69av在线视频 | 91看片在线观看 | 国产 一区二区三区 在线 | 亚洲午夜精品久久久久久久久 | 国产精品va视频 | 久久成人亚洲欧美电影 | 精品一区精品二区 | 国产91在线观看 | 久久一区91 | 国产毛片久久久 | 91精品国产91久久久久久三级 | 射久久久 | 91香蕉国产在线观看软件 | 欧美一级艳片视频免费观看 | 麻豆国产网站入口 | 亚洲一区黄色 | 成人免费在线播放 | 日韩精品在线看 | 91欧美国产 | 欧美性生活一级片 | 视频一区二区免费 | 狠狠色伊人亚洲综合网站野外 | 特片网久久| 国产精品免费一区二区三区 | 丁香婷婷激情网 | 99精品国产99久久久久久福利 | 成人av电影在线 | 国产精品婷婷 | 超级碰99 | 激情av资源网 | 亚洲成人网av | 久久久在线视频 | 午夜久久久久久久久久久 | 少妇精品久久久一区二区免费 | 91爱在线 | 91手机电影 | 亚洲日韩欧美一区二区在线 | 日韩欧美在线一区二区 | 香蕉蜜桃视频 | 久久免费视频一区 | 美女视频是黄的免费观看 | 99免费在线播放99久久免费 | 欧美一二在线 | 亚洲网站在线 | 二区三区在线观看 | 三上悠亚在线免费 | 国产精品999久久久 久产久精国产品 | 在线色视频小说 | 亚洲国产激情 | 色婷婷综合久久久久 | 天天玩天天干 | 国产精品久久久久一区二区国产 | 亚洲精品美女久久17c | 欧美在线观看小视频 | 欧美精品乱码久久久久久 | 97日日碰人人模人人澡分享吧 | 国产 日韩 在线 亚洲 字幕 中文 | 国产精品 欧美 日韩 | 麻豆网站免费观看 | 美女在线免费视频 | 亚洲五月花| 亚洲精品99| www在线免费观看 | 亚洲黄a | 久久好看 | 久久你懂的 | 日韩综合色 | 一区二区三区四区免费视频 | 在线免费观看成人 | 91亚洲精品久久久 | 免费日韩一区二区 | 丁香 婷婷 激情 | 国产高清不卡 | 又黄又刺激又爽的视频 | 精品国产欧美一区二区 | 啪啪免费试看 | 亚洲午夜久久久久久久久 | 欧美亚洲精品在线观看 | 蜜臀久久99静品久久久久久 | 国产 日韩 中文字幕 | 日本三级人妇 | 91久久久久久久 | 黄色毛片观看 | 91精品视频在线看 | 日韩天堂在线观看 | av在线免费网| 六月婷婷色| 欧美精品久久久久a | 日韩精品免费一区二区在线观看 | 又色又爽又激情的59视频 | 国产精品v a免费视频 | 久久中文字幕在线视频 | 婷婷色中文 | 国产一区二区精品久久91 | 综合网色| 日韩欧美高清视频在线观看 | 成人va天堂 | 国产无套精品久久久久久 | 在线观看亚洲精品 | 日日骑 | 国产日韩精品一区二区在线观看播放 | 99精品一区 | 麻豆精品视频在线观看免费 | 日韩一区二区在线免费观看 | 亚洲第一久久久 | 久久午夜电影网 | 国产高清av免费在线观看 | 最近中文字幕完整视频高清1 | 97超碰影视 | 日韩中文久久 | 免费一级特黄毛大片 | 色就是色综合 | 91精品对白一区国产伦 | av看片网| 在线免费三级 | 激情网站网址 | 五月天视频网站 | 天天干人人干 | 国产视频一区二区在线 | 在线观看免费视频你懂的 | 九九免费精品视频 | 中文字幕一区二区三区四区久久 | 国产一区在线观看免费 | 国产一级视频在线 | 国产黄色电影 | 国产麻豆精品久久一二三 | 99在线视频精品 | 亚洲性视频 | 欧美日韩一级久久久久久免费看 | 久久福利 | 免费网站色 | 国产精品久久久久高潮 | 久久国产精品99精国产 | 成年人天堂com | 91福利视频在线 | 天躁狠狠躁 | 国产色婷婷精品综合在线手机播放 | 一二区av | 色综合www| 香蕉视频久久 | 一区二区伦理电影 | 手机av在线不卡 | 国产精品99精品 | 欧美一级免费片 | 欧美激情精品久久久久久变态 | 99这里只有久久精品视频 | 国产精品精品国产婷婷这里av | 日韩中文字幕在线观看 | 国产日韩视频在线 | 91九色成人 | 亚洲精品自拍视频在线观看 | 青草视频在线看 | 成+人+色综合 | 碰超在线观看 | 色婷婷成人网 | 黄色软件在线看 | 91在线视频精品 | 中文字幕电影在线 | 日本成人中文字幕在线观看 | www..com毛片| 久久久久福利视频 | 九九精品久久久 | 综合久久网| 国产亚洲精品美女久久 | 免费进去里的视频 | 综合激情久久 | 一二三区在线 | 国产黄色片久久久 | 午夜精品久久久久久久久久久久久久 | 五月天堂色 | 欧美在线视频a | 中文字幕 婷婷 | 久久精品a | 久久99久久99精品中文字幕 | 一区二区三区精品在线视频 | 欧美性生活免费看 | 欧美在线视频a | 亚洲电影黄色 | 久久综合久久综合这里只有精品 | 精品亚洲免a | 国产丝袜网站 | 99久久精品久久久久久动态片 | 狠狠干干 | 国产一级在线看 | 国产成人一区二 | 国产精品精品国产 | 精品视频免费观看 | 欧美日韩免费一区 | 日韩丝袜在线观看 | 丁五月婷婷 | 免费视频a| 免费视频一区 | 国产九九热 | 亚洲综合在 | 99精品在线看 | 国产精品久久久久久一区二区 | 91视频成人免费 | 天天激情 | 四虎在线免费观看 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 一区二区成人国产精品 | 国产精品美女999 | 涩涩网站在线 | 欧美精品久久天天躁 | 99久久婷婷国产 | 天天拍天天干 | 91视视频在线直接观看在线看网页在线看 | 中文字幕av在线不卡 | 激情婷婷久久 | 探花视频免费观看高清视频 | 手机av电影在线 | 99精品视频观看 | a黄在线观看 | www.五月天 | 超碰人人做 | 国产aa免费视频 | 精品亚洲网 | 国产 一区二区三区 在线 | 在线亚洲人成电影网站色www | 69xx视频 | 亚洲精品美女在线观看播放 | 色资源网在线观看 | 男女视频久久久 | 久久在线精品视频 | 91精品一区二区在线观看 | 91日韩在线视频 | 久久99久久99精品免观看软件 | 99re亚洲国产精品 | 91在线视频导航 | 亚洲精品成人在线 | 成人免费视频在线观看 | 成人午夜网址 | 91久久国产综合精品女同国语 | 亚洲黄污| 黄网站免费大全入口 | 五月婷婷深开心 | 91大神精品视频在线观看 | 亚洲精品午夜国产va久久成人 | 成片免费| 久久av黄色 | 久草视频一区 | 亚洲春色奇米影视 | 日日干干| 久久激情综合 | 国产成人333kkk| 久久私人影院 | 在线免费观看视频一区二区三区 | 九九在线播放 | 97香蕉超级碰碰久久免费软件 | 天天天色综合 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 久久亚洲人 | 91精品国产自产91精品 | 成人网在线免费视频 | 免费成人在线观看 | 国产精品一区二区在线观看免费 | 亚洲精品人人 | 97在线观看视频 | 久久久久国产成人精品亚洲午夜 | 91超碰在线播放 | 网址你懂的在线观看 | 国产一区二区久久久久 | 国产美女在线观看 | 在线观看网站你懂的 | 国产福利久久 | 免费看黄的 | 国产最新视频在线观看 | 久久久片 | 国产精品乱码一区二区视频 | 天天射天天爽 | 在线观看中文字幕一区二区 | 久久99久久久久 | 狠狠操天天射 | 国产99久久久国产精品免费二区 | 午夜精品一区二区三区四区 | 久久精品国产亚洲精品2020 | 亚洲免费视频在线观看 | 91丨porny丨九色 | 国产精品男女啪啪 | 国产手机精品视频 | 在线视频 你懂得 | 色综合久久久久久久久五月 | 久久免费视屏 | 国产 日韩 欧美 自拍 | 国产精品夜夜夜一区二区三区尤 | 中文字幕在线看片 | 天堂中文在线播放 | 免费高清在线视频一区· | 亚洲午夜剧场 | 黄色网址在线播放 | 色偷偷av男人天堂 | 热久久免费国产视频 | www.成人久久 | 国产成人精品亚洲 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 国产精品第三页 | 91理论片午午伦夜理片久久 | 免费a级毛片在线看 | 国产私拍在线 | 亚洲国产精彩中文乱码av | 亚洲色图27p | 最新日韩视频在线观看 | www.色综合.com | 精品一二三四在线 | 欧美淫视频 | 国产区久久 | 久久精品女人毛片国产 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产日产在线观看 | 九九九在线观看视频 | 在线观看麻豆av | 精品综合久久 | 在线视频欧美精品 | 91在线www | 91精品国自产在线观看 | 久久66热这里只有精品 | 久久久黄色免费网站 | 97成人精品 | 中文字幕中文字幕 | 色综合天天综合网国产成人网 | 超碰97在线人人 | 天天干中文字幕 | 国产.精品.日韩.另类.中文.在线.播放 | 狠狠色噜噜狠狠狠合久 | 成年在线观看 | 97视频资源 | 在线中文字幕网站 | av线上免费看 | 成人午夜黄色影院 | 青草视频在线播放 | 97在线观看视频免费 | 婷婷丁香国产 | 久草99| 操少妇视频 | 国产精品一区二区 91 | 一区二区视频免费在线观看 | 亚洲精品自拍 | 久久久久国产一区二区 | 99麻豆久久久国产精品免费 | h视频在线看 | 国产免费午夜 | 精品自拍av | 一级性视频 | 久久婷亚洲五月一区天天躁 | 超碰大片 | 91亚洲狠狠婷婷综合久久久 | 久久精品一级片 | 九色91在线| 久久久999精品视频 国产美女免费观看 | 日韩二三区 | 免费国产一区二区 | 午夜在线观看影院 | 国产99久久九九精品免费 | 狠狠躁日日躁夜夜躁av | 亚洲网站在线看 | 人人人爽| 久久夜色网 | 日韩一级黄色av | 婷婷丁香激情五月 | 精品久久久久久久久久久久久久久久久久 | 福利电影一区二区 | 成人网色| 国产97av| 波多野结衣一区三区 | 国产视频不卡 | 天天做天天爱天天爽综合网 | 天天操天天舔天天爽 | 久久精品国产精品 | 正在播放一区 | 日韩电影中文,亚洲精品乱码 | 欧美色综合天天久久综合精品 | 国产精品一区在线播放 | 不卡av免费在线观看 | 亚洲综合在线一区二区三区 | 91看国产| 久久久激情网 | 免费在线看成人av | 日韩精品在线免费播放 | 天天色天天干天天 | 五月婷婷久| 亚洲国产av精品毛片鲁大师 | 999久久精品 | 国产精品视频99 | 日批视频在线播放 | 7777xxxx| 国产一区二区精品久久91 | 国产高清小视频 | 成人av影视在线 | 午夜精品久久久久久久久久久久 | 婷婷视频导航 | 激情五月婷婷激情 | 一区二区三区手机在线观看 | 久久99日韩 | 在线视频黄 | 91久久精品一区 | 国产精品久久中文字幕 | 成人免费在线电影 | 久久毛片网站 | 97视频免费播放 | 91中文字幕在线 | 国产不卡在线视频 | 射射射综合网 | 亚洲综合激情 | 欧美有色 | 亚洲精品综合一二三区在线观看 | 国产精品手机看片 | 日本中文字幕在线免费观看 | 成人av在线影视 | 亚洲色图美腿丝袜 | 黄网站污 | www.五月婷| 日韩v在线91成人自拍 | 四虎国产精品成人免费影视 | 亚洲片在线 | 日韩av不卡在线播放 | 91欧美日韩国产 | 天天搞天天干 | 亚洲精品久久久久久久蜜桃 | 久久伊人爱 | 激情综合五月婷婷 | 久热免费在线 | 一区二区三区在线观看免费 | 精品美女在线观看 | 久草在线资源免费 | 亚洲乱码在线观看 | 国产精品无av码在线观看 | 久久这里只有精品23 | 91一区啪爱嗯打偷拍欧美 | 天天干夜夜干 | 日韩欧美精品在线 | a天堂免费 | 日本高清dvd | 久草免费在线观看 | 久久激五月天综合精品 | 国产成人精品网站 | 亚洲经典在线 | 色中文字幕在线观看 | 精品亚洲免费 | 日本成人中文字幕在线观看 | 久久色在线观看 | 黄色片免费在线 | 91大神精品视频在线观看 | 国产精品毛片久久久久久久久久99999999 | 婷婷六月色| 欧美在线观看禁18 | 久久久久久国产一区二区三区 | 亚洲欧美日韩一区二区三区在线观看 | 97超碰在线免费 | 五月天六月丁香 | 亚洲午夜久久久久 | 日韩免费不卡视频 | 97超碰中文字幕 | 999成人网 | 国产精品久久久久久久久久 | 91高清免费 | 中文字幕在线观看播放 | 久久精品国产一区 | 91视频亚洲 | 免费97视频 | 久久国产精品区 | 国产精品久久视频 | 国产99色 | 中文字幕有码在线 | 国产激情久久久 | 99精品视频精品精品视频 | 九九九九九精品 | 国产精品嫩草影院9 | 欧美精品一区二区免费 | 美女黄视频免费 | 天天干人人干 | 中文字幕高清免费日韩视频在线 | 毛片区| 91亚洲国产| 成人h电影在线观看 | 免费亚洲黄色 | 九九九电影免费看 | 日韩精品欧美专区 | 亚洲成人国产精品 | 午夜av在线播放 | 日韩免| 久久精品999 | 婷婷成人亚洲综合国产xv88 | 国产视频久久 | 超碰在线观看av.com | 三级黄色理论片 | 亚洲国产中文字幕在线 | 亚洲欧美成人综合 | 国产日韩欧美在线一区 | 欧美午夜精品久久久久久浪潮 | 久精品视频在线观看 | 成人一级在线观看 | 成人在线小视频 | 91精品国产91 | 福利网在线| 99爱爱 | 欧美特一级 | 久久免费美女视频 | 国产成人777777 | 精品福利在线视频 | 日韩在观看线 | 五月天六月婷 | 国产一区二区不卡视频 | 精品亚洲视频在线 | 国产麻豆精品在线观看 | 色婷婷狠狠五月综合天色拍 | 国产精品视频全国免费观看 | 日韩免费福利 | 国产一区欧美一区 | 91日韩在线专区 | 色综合a| 99热最新网址 | 国产黄色在线观看 | 少妇bbbb搡bbbb桶 | 99久久夜色精品国产亚洲96 | 欧日韩在线视频 | 玖玖玖在线观看 | 97色se| 精品久久久久久电影 | 亚洲专区在线视频 | 91人人视频在线观看 | 中文字幕第 | 国产麻豆电影在线观看 | 狠狠狠色丁香婷婷综合久久88 | 久草在线一免费新视频 | 婷婷丁香在线 | 在线观看中文 | 在线免费性生活片 | 麻豆免费视频 | 99精品在线观看视频 | 69欧美视频 | 玖玖在线看 | 97超碰在线久草超碰在线观看 | 国产成人一区二区三区免费看 | 热久久最新地址 | 国产精品中文字幕在线播放 | 国产精品1024 | 伊人狠狠操 | 婷婷在线视频观看 | 人人插人人 | 国产日韩精品一区二区三区在线 | 国产福利中文字幕 | 国产一级电影免费观看 | 久久久精品久久日韩一区综合 | 国产精品久久久久久久久久ktv | 江苏妇搡bbbb搡bbbb | 日本精品中文字幕 | 人人澡人人干 | 丁香av | 亚洲视频观看 | 国产亚洲精品久久久久久久久久久久 | 欧美一级免费黄色片 | 91麻豆精品国产91久久久久久久久 | 久久久 激情 | 久久超碰97 | 亚洲片在线观看 | 天天爱天天操天天射 | 91看片成人 | 超碰久热 | 欧美小视频在线观看 | 午夜精品中文字幕 | 欧美一级片在线播放 | 日韩色视频在线观看 | 精品国自产在线观看 | 国产高清在线观看av | 亚洲激情视频在线 | 国产精品久久亚洲 | www.亚洲在线| 六月色丁香 | 国产99久久精品一区二区永久免费 | av高清影院 | 国产精品视频久久久 | 中文字幕在线日 | 国产中文字幕久久 | 成人黄大片视频在线观看 | 久久99久久99精品免费看小说 | 久久久三级视频 | av在线一| 99精品国产99久久久久久97 | 国产精品日韩久久久久 | 日韩免费高清 | 四虎国产| 亚洲全部视频 | 香蕉手机在线 | 亚洲综合色av | 久草精品视频在线播放 | 中文字幕人成乱码在线观看 | av蜜桃在线 | 97视频在线观看成人 | 欧美激情亚洲综合 | 国产馆在线播放 | 免费视频成人 | 亚洲欧美一区二区三区孕妇写真 | 色搞搞| 日韩在线观看精品 | 久草免费福利在线观看 | 99久久精品免费看国产免费软件 | 91亚洲欧美 | 婷婷色在线播放 | 久久tv| 久久久国产高清 | 麻豆视频免费看 | 日韩在线免费看 | 日韩欧美高清一区二区三区 | 99热精品免费观看 |