Giter VIP home page Giter VIP logo

app-prove-elasticsearch's Introduction

I am a software engineer and tester available for Freelance and Consulting work through my firm Troglodyne, LLC

I have 15 years of experience writing and testing web applications with aparticular focus on web hosting, performance and mathematics.

Contact Information

Experience

If you prefer a more traditional resume/cv, see here. Alternatively, check me out on LinkedIn.

CEO, Troglodyne LLC

August 2020 - Present

I assist clients with all manner of software projects from my office in Houston. Primarily perl, html/css/js work, but the occasional PHP work thrown in too. I also build open source software for automated testing (see my pinned repos below), and am working on my own testing SAAS offering to be out early 2022. Recent and ongoing clients include:

I also do a youtube series on topics of interest to the software developer and tester.

Senior Tester, Senior Developer @ cPanel

July 2011-November 2012 and June 2014-August 2020 (Just shy of 8 years)

Senior QA for 5 of those years, moved onto development and was promoted in short order. Highlights:

  • Built a testing VM orchestration solution based on OpenStack
  • Built the majority of perl libraries used for automated acceptance testing used at cPanel
  • Optimized the performance of various database projects at cPanel
  • Did a number of user interface projects both using jQuery and Angular.
  • Fixed more bugs than I can remember, many having to do with RPMs and packaging

Senior Developer @ HailStrike.com

November 2012 - May 2014 (2 years)

Helped out my cousin with his startup until it nearly collapsed due to mismanagement. Highlights:

  • Built a multi-terabyte multi-shard postgres database for querying geospatial data across many years
  • Completely re-worked a PHP single page app from a prototype-in-production into ship-shape
  • Fielded calls and more or less kept the technical end of the business running during the firm's crisis. Boy have I got some stories.

QA Engineer @ Texas Instruments

July 2007 - May 2011 (4 Years)

My first job out of college with a Mathematics degree was to test calculators. I quickly learned automation and programming was the way to go. Highlights:

  • Testing applications written in assembly for 4-bit Toshiba microprocessors (and other obsolete hardware), we went as low level as you can imagine.
  • Tested higher-order java applications running emulators of said calculators (and one Computer Algebra System on a stick called the n-spire)
  • Ported the TI-84 emulator to linux (C++ and JNIlib)
  • Writing incredible amounts of python testing libraries for RobotFramework and other testing frameworks

Education and Skills

  • Ability to plan, create, modify, debug and deploy web applications using perl, PHP, javascript and Python
  • Ability to test pretty much any software, and teach others how to
  • BS in Mathematics from Southeastern Oklahoma State University (2005-2007)
  • ASTQB Certified Tester (Advanced Level) with Test Automation specialty Cert #15-CTAL-TA-00084-USA

Links:

Testimonials

Bryan S, Katz - Owner & Software Architect of Holophrastic Enterprises

I planned three months for a complete overhaul and migration of the entire business, expecting reality to drag it out. There were the peculiarities of my custom platform, the quirks of plesk, and the all-out fun of mixing the two with a completely new network architecture. I got far more, from George, than I understood was even possible. George worked through it all, filled in the blanks that I never knew I had, and simplified the parts that I'd over-complicated. He kept us "up-schedule" at every stage; we were done two-weeks early. George's experience with the nitty-gritty of plesk's internals, and his skills at lower-level linux, are the benefits that I can appreciate. His skills at the networking and virtualization levels are beyond my comprehension; I just get to watch it all work smoothly. George makes working with him very easy, which is why I continue to do so; I feel comfortable depending on his expertise for many aspects of my business. I now base my business on George's decisions, and will continue to depend on his dedication for many years to come.

Rikus Goodell - Senior Developer at cPanel

During his years at cPanel, George built up many of the tools that continue to power the QA department to this day, especially in automation of the Perl-based QA test suite and the VMs on which it runs. I would describe him as a pioneer of the group who helped make it possible for dozens of others to do their jobs efficiently. After he moved to a product developer role, I got the chance to work with him on a daily basis as part of a Scrum team, and I enjoyed having him as a teammate. One pattern he consistently shows is a relentless drive to solve problems, by whichever means fits the best in the situation. As a primary author of much of our test automation code, he is also no stranger to tackling large challenges single-handedly, and I find this independent mindset to be one of his most admirable qualities. Whether something needs to be fixed or something needs to be built from the ground up, George will make it happen.

David Lanning - Senior QA at cPanel

After working with George closely for years - not only did he help me grow Professionally - He also set an example I took home with me having the effect of making me a better person myself. Technically there was never a scenario I witnessed George not handle effectively, precisely, and thoroughly. Any endeavor he chooses to undertake would serve everyone well to pay attention.

app-prove-elasticsearch's People

Contributors

teodesian avatar toddr avatar tonvoon avatar

Watchers

 avatar  avatar

app-prove-elasticsearch's Issues

Tool to manually upload test results

I'd toyed with the idea of doing Test::Manual, but that's too complicated for most testing orgs. Better to leave them to their spreadsheets in version control, and have a quickie program for uploading results manually. That could then be tied to a frontend like in traditional TMSes.

Statistical analysis tools

Some stuff like 'tests with high outcome variance' is very hard to do in timelion/kibana. I'd like a tool to do it for me.

long test watchdog timer

Gotta whack jobs in the workers that get stuck to ensure the work continues.

Any jobs that failed to run to completion will be returned to the queue, and this worker will explicitly reject that job if encountered again

Index for associating issues in trackers (bugs) with test results.

And the attendant tool to put documents in there. Configuration should be limited to a URL prefix for the tracker.

Also have a tool to list active issues at particular versions (and platforms optionally). Assume if 1 issue in contiguous block of anomalies for test, it's the same thing ( will have to back-search versions for each test).

add ability to pass arguments to App::Prove::Plugin::Elasticsearch for plans

So, if I want to execute a plan, I want to be able to just provide the name, and optionally version and platform(s).

In the event, say, only a name is passed, we'll try and run every plan with that name, on every version and platform available. Passing version would restrict to all plans of the needed version, and we could further drill down to just one plan by having platform(s) specified.

In the future, we should hook this into the provisioner subclasses and just SKIP if we can't figure out how to provision a test plan.

New index & tool to create test plans & store assignees

Need a plan and assignee index.

(plan name + SUT version) must be unique. Accepts a list of test cases that must be run, and platforms to run on.
Must understand 'platform classes', e.g. platforms that multiply and create matrices. For example:
OSes and Perl Versions.

assignee documents must provide the plan name + SUT version and the assignee. Provide a tool to assign/unassign tests on command line (accept globs, multi args, balk on already assigned), and integrate it into prove to auto assign & refuse to run when running tests assigned to others.

Add a tool to run everything assigned to me in a plan.

Create a pluggable tool to automatically create plans in reaction to events, in case you are crazy enough to not use CI for your build toolchain (bonus points).

Finally, add a tool to run forever and crank on everything assigned to it; this way we can setup a distributed test cluster.

Provisioner subclass tree and remote setup mechanisms

Use to provision environments for the system under test.

Allow passing multiple times on commandline e.g.

-Pprovisioner=OpenStack,provision=CentOS6,provision=CentOS 7 32-bit,setup=MySetupClass

It seems to me the most simple thing for me to develop here would be an Openstack provisioner.
I would want some way to map provision environment to base image ID, e.g this in config:

[ProvisionAliases]
CentOS 6 64-bit=abdef-blah-blah-blah-qqnoob

Also allow direct passing of image id.

Default provisioner is to just use the local system.

Default setup script would be to tar up the dist, SCP the dist tarball over and install it w/ CPAN.
Put in namespace App::Prove::Elasticsearch::Provisioner::Setup::Default

This would naturally involve complication when passing multiple provision platforms, as we would basically have to run prove over again with the same args per platform if we don't want to do wacky things to the -j mechanism.

Otherwise we'll need to inject a prove executor shim to just read logs from running prove on the tests in the remote system, unless that is our tests explicitly intend to test from here and SSH in.

To accomodate that we should have a App::Prove::Elasticsearch::Executor set of modules too (basically remote and default).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.