Skip to main content

Automated smart testing strategies for web services.

Project description

Agilkia: AGILe (K)Coverage with Intelligence Artificial

Automated smart testing tools for web services.

This 'agilkia' library is part of the Philae research project:

http://projects.femto-st.fr/philae/en

It is open source software under the MIT license. See LICENSE.txt

Key Features:

  • Automated testing of SOAP web services with WSDL descriptions.
  • Manage sets of traces (load/save to JSON, etc.).
  • Convert traces to Pandas DataFrame for data analysis / machine learning.
  • Generate random tests, or 'smart' tests from an ML model.

About the Name

Apart from the clumsy acronym, the name Agilkia was chosen because it is closely associated with the name 'Philae', and this tool came out of the Philae research project.

Agilkia is an island in the reservoir of the Aswan Low Dam, downstream of the Aswan Dam and Lake Nasser, Egypt.
It is the current location of the ancient temple of Isis, which was moved there from the islands of Philae after dam water levels rose.

Agilkia was also the name given to the first landing place of the Philae landing craft on the comet 67P/Churyumov–Gerasimenko, during the Rosetta space mission.

Example Usage

Here is a simple example of initial dumb random testing of a web service called "CASH" running on a server http://localhost/:

import agilkia

# sample input values for named parameters
input_values = {
    "username"  : ["TestUser"],
    "password"  : ["<GOOD_PASSWORD>"] * 9 + ["bad-pass"],  # wrong 10% of time
    "version"   : ["2.7"] * 9 + ["2.6"],      # old version 10% of time
    "account"   : ["acc100", "acc103"],       # test these two accounts equally
    "deposit"   : [i*100 for i in range(8)],  # a range of deposit amounts
}

def first_test():
    tester = agilkia.RandomTester("http://localhost",
        services=["CASH"],
        parameters=input_values)
    tester.set_username("TestUser")   # will prompt for password
    for i in range(10):
        tr = tester.generate_trace(length=30)
        print(f"========== trace {i}:\n  {tr}")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agilkia-0.2.2.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

agilkia-0.2.2-py3-none-any.whl (43.7 kB view details)

Uploaded Python 3

File details

Details for the file agilkia-0.2.2.tar.gz.

File metadata

  • Download URL: agilkia-0.2.2.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.22.0

File hashes

Hashes for agilkia-0.2.2.tar.gz
Algorithm Hash digest
SHA256 8abf8110527a1591f58eaa4f8b34bc768fd0824a3814eec81ef28cb656ea5633
MD5 efaaba8a1259451477eadbc5244e48b0
BLAKE2b-256 47cd2665edf9e4936c6c4d732bc57fb71918dc8c2dd2e85863d70ef41213c0b9

See more details on using hashes here.

File details

Details for the file agilkia-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: agilkia-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 43.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.22.0

File hashes

Hashes for agilkia-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 091529d8b4be8ccfffdd49331996563acdc68663f467e5a825c669fb21fd6442
MD5 b8f96ef69589fc8a94f77338c00efab2
BLAKE2b-256 a412d1553f206648bb1b5d7c2e0045c5e221a7dddf7acda6e3cfff1c029f91f7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page