Find Jobs
Hire Freelancers

Develop internal training material for python testing

$10-500 AUD

Cerrado
Publicado hace alrededor de 4 años

$10-500 AUD

Pagado a la entrega
I want to develop internal training content for writing good python unit and integration tests. There are three deliverables for this project: * A longform document describing and exploring the subject matter in depth * A 20 minute presentation walking through the content and examples * An interactive tutorial / workshop applying the concepts in the document to concrete examples, with some automated evaluation based on coverage and hidden implementation bugs. This may be done either as a jupyter notebook, a dockerised training repository, an interactive webpage or similar, but ideally there should not be any backend necessary. Familiarity with the subject matter is required, but I will be available to help develop and edit the content. The examples will walk through a simple microservices stack utilising the following python technologies: * Flask HTTP server * This interprets a REST query, validates the input and then dispatches the query to a microservice via a thrift RPC call * Apache Thrift mid-layer microservice * This implements permission checks and aggregates and interprets data into a series of database requests in one of the two data layers described below * SQLAlchemy query constructed within the same service * Translating a thrift request to a similarly-structured SQLAlchemy query * Via another thrift microservice that uses mysql connector and raw SQL as a DAO service A skeleton describing the content is provided below. It may be incomplete - if there is anything else to cover, please expand it or alter it. Please note that the examples do not have to be written from scratch - some existing skeleton code exists, just focus on the test structure and content. Testing Best practices * Test only public methods/functions * Test only the external behaviour of a class or module, otherwise you are just making the implementation details harder to change * Writing descriptive tests * Each test should have a docstring describing the property being validated * Quick note on TDD * Keep tests DRY and isolated * Test code is code too - share mocks and setup methods and keep it clean * Avoid complex code in tests * Tests need to be obviously correct - if you’re doing a lot of computation in a test, it is too complex. * Data providers * Don’t hard-code data, use data providers. This makes tests generalisable as property tests, too * Golden Tests * Quick note on hypothesis * Avoid mocks & a note on DI * Mocks are fragile - avoid them where you can. Your functions should be as much of a black box to your tests as possible. DI-like patterns help with this. Mocking * Mock at the service boundaries * This tests as much of the real behaviour of your code as possible. * Wrap your service boundaries with an adapter that isolates your code from the interface of the external system. * Python mock library * Basic usage, common pitfalls, examples, etc * How to write good mocks * Unit tests vs Integration tests * What’s the difference? Why would you use either? * When not to test * Type systems and other static tooling * Coverage vs defensiveness * Enforcing Contracts Test runners * Nosetests, pytest * Skipping tests, selecting tests, command line arguments, data providers[d][e][f] * Coverage * If it’s not covered, do you need it? Tools: Pytest watch, pdb (and ptpdb), vscode integrations Testing in the example stack * Flask * creating and using the flask mocks * A simple test * Thrift * Using a local thrift server mock * Pure python * Testing a simple permission check * SQL * Testing using a local mysql instance * SQLAlchemy * Same as above, but with sqlalchemy set up Advanced testing * Hypothesis[g] and Property based testing / state machine testing
ID del proyecto: 23763478

Información sobre el proyecto

13 propuestas
Proyecto remoto
Activo hace 4 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
13 freelancers están ofertando un promedio de $254 AUD por este trabajo
Avatar del usuario
Hi Client High-quality & Fast-delivery is promised! As a highly skilled full stack developer and I can help you perfectly. I am very confident with my skills and I'd like to help your business by doing my best. My clients have never been frustrated with my work and I hope to make you one of them. Please confirm that I am one of the best fits for you and drop me a message for further discussion. Thanks and Best Regards. George
$300 AUD en 3 días
5,0 (10 comentarios)
5,7
5,7
Avatar del usuario
I have Bachelors in Electrical Engineering and holds Masters degree in Energy Systems Engineering with strong research background. I have 6 years experience of programming and have been extensively working on python for last 3 years. Considering my qualification and experience i would be pleased to do this task for you. Look forward to hearing from you soon. Haris
$350 AUD en 7 días
4,9 (62 comentarios)
5,7
5,7
Avatar del usuario
i am professional in content writing. i will do my best.I am working in the field of writing for the last 10 years. I have managed 5000+ papers with a 100 percent result rate for my clients on different forums including; Freelancer.com. As per your instructions, I can provide a masterpiece because creating a masterpiece is an art, and I am a master in it. For further discussions, please message me in private messenger so we may finalist the deal. Looking Forward -- Top Writing Guru
$10 AUD en 1 día
4,8 (91 comentarios)
5,5
5,5
Avatar del usuario
"Hi, Hope you are doing well! Thanks for sharing your project requirement with us. It will be our great pleasure to work on your project. I have checked your requirement, yes we can do it, because we already work on similar requirement in past. We have right skills to work on this assignment. We will complete the work as per requirement
$150 AUD en 7 días
5,0 (40 comentarios)
5,4
5,4
Avatar del usuario
I have decided of experience in Python testing , specially web application testing. If awarded I be will deliver on time
$160 AUD en 7 días
5,0 (4 comentarios)
2,4
2,4
Avatar del usuario
Hi there! I have read through and perfectly understood the available instruction for your project. My diverse skill set perfectly matches the project. It is my strong belief that you will be a very happy client after receiving the product. As such, do not hesitate to award me the task ahead. Best regards Uns siddiqui
$10 AUD en 1 día
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
Hello, I am gone through your requirement. I would like to prepare internal training material for your organisation. I am having 18 years of QA (unit | functional | integration | system | load | performance | etc test) and Automation (perl, python) experience.I have done test development for corporates like IBM, hp, Oracle, NetApp etc. as well as individuals. I’m happy to provide you with any additional information you might need. I look forward to hearing from you. Sincerely, Kaushik
$255 AUD en 7 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de AUSTRALIA
Sydney, Australia
5,0
4
Miembro desde mar 29, 2017

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.