Hi. My name is Jason LeCount. I've been doing test automation for years now, on Unix/Mac, Android, Linux and Windows.
I specializes in improving the testability of applications, as well as writing automated test frameworks and test suites for web applications. I'm a big fan of agile methodologies.
I love testing -- especially using tools and automation to test smarter, not harder. Take a look at the links on the left and let me know if I might be of service to you.
Manually test that which is either very easy for a human, infrequently needed, or time-consuming or difficult to automate.
I offer a variety of services as an independent contractor. I can devise an approach to test a tricky bit of functionality, help fix problems with your test automation, get you started if you're just beginning your automation effort, or work with a QA team to come up to speed on the skills to succeed with automated testing.
Automated testing requires a significant setup effort -- from servers (in-house or in the cloud), to software installation, to framework creation, to Continuous Integration setup...there's a lot to do before you write your first test!
Let me help get you testing, by handling server setup -- both hardware and software, framework setup, and automated test result reporting.
Your time to begin writing good, reliable tests is greatly reduced, you have great testcase visibility, and both your testers and clients sleep better at night.
A solid framework (whether a UI framework or not) provides structure and services to make your tests reliable, maintainable and easy to write.
A common mistake is to start test automation without a framework, record a bunch of tests, then eventually abandon the effort once they become a maintenance nightmare.
A well-designed framework provides a solid structure that encourages code reuse and allows your tests to be succinct and easy to maintain.
A good framework may also, depending on the type of testing, help manage and feed data to tests, test on a variety of browsers seemlessly, execute tests in parallel, and ensure that test results are easily available.
Based on your needs, I can advise upon and implement a testing framework for you that will allow your test automation to scale, provide the visibility you need, and show off what automated testing can do!
Sometimes testing is hard. Using the wrong tools for the job, or a unsuitable test approach guarantees it. And even if that's right, sometimes it's still just hard.
Let me figure out how to test your "untestable" feature. I'll work with Development and QA to figure out how to get the test results you need now, and establish a regression suite to make sure working features stay that way.
Test automation is coding. Good automated tests are written with good code. A good test badly coded can be a weak link in your automation suite.
Let me help bring your team up to speed with the latest techniques and best-practices in test automation. I can either offer training sessions on a variety of topics, or one on one mentoring / pair-programming.
Responsible for improving testability of all Netpulse application components, as well as growing an Agile and test-driven Engineering culture. My primary goal is to ensure that all application components are easily testable, and that staff (Dev, QA) understand how to write unit and functional tests and that impediments to doing so are removed.
Qt (legacy client) Team:
Legacy Server Team:
New Server Team:
Was responsible for leading team of 3 automation engineers in an Agile (Scrum) team of developers, product managers, QA engineers, and OPS engineers. Was responsible for automation tool choice, implementation and design of test frameworks, working with junior engineers to build out suites, and general oversight of junior team members. Wrote Selenium-based UI test framework to automate UI regression of Cisco Eos social network. Test framework has the following features:
Developed automated deployment scripts for QA, Stage and Production using Capistrano. Developed rspec tests for a Ruby on Rails social network that hosted sites for NASCAR, the NHL and Televisa. Tested and deployed infrastructure updates for all environments.
Implemented scripts to do client deployment (appserver configuration, deployment, database creation and population.)Implemented automated build / deploy / test infrastructure for internal Dev / QA use. Infrastructure is responsible for cross-platform (Linux and Win XP) continuous and daily builds, unit test execution and website update, javadoc updates, emailing build failures and unit test results and automated creation of TeamTrack defects from unit test failures. Trained Indian QA team in New Delhi on the Northstar API and unit-testing best practices. Co-wrote and maintained the NorthStar ant build. Build integrates with eclipse and determines build dependencies via Ecilpse project dependencies. Code-generated junit testcases using Velocity to test CRUD methods on data objects. Implemented a variety of other testcases using junit / Cactus to test business logic. Migrated current junit test framework to hibernate/spring-based framework, allowing testing of application services without requiring an appserver. Implemented Development and Customer Support bug tracking workflows using Serena TeamTrack.. Set up end-to-end security through firewall via an Apache proxy that performs an additional layer of authentication for external users. Performed various release control duties (branch management, label creation, integrations / reverse integrations) using Perforce. Configured and managed ASP monitoring scripts with nagios.
Responsible for developing automation infrastructure for QA group. Designed and implemented an XML content generation program in Java for generating data conformant to a specific DTD. Wrote an extensible data mapping validation tool in Java for use by other QA engineers. Implemented a junit-based testing framework for QA whitebox testing. Performed content validation on an XML transformation engine. Wrote a distributed messaging component using log4j to provide communication between a server application and a junit testcase. Wrote a variety of bash/Python utilities to automate system level testing.
Wrote automated testcases in Java using Macaca (a jUnit-like testing framework) to unit test a JMS messaging implementation. Wrote system-level tests to realistically test multiple users sending to/from JMS queues and topics.Wrote automated testcases for a transaction processing system for Kenamea's message switch product. Testing verified that transactions were durable, isolated, could be committed and rolled-back in a variety of situations. Designed a multi-machine environment to perform system crash testing to verify that uncommitted transactions could be rolled back with no lost messages / corrupted state. Designed and coded modules to support testcase / test results entry into an Oracle database with a web-based front-end. Scope of work included designing database schema, coding stored procedures, coding Java classes/JDBC access layer and JSPs to display the testcase / results data. Automated existing performance testing harness to run on its own and do diagnostics of common types of failures (hung server, etc.) and to add testcase results to the database at the end of the test run. Finished system automatically installed server-side and client-side components when new builds were available, ran performance tests, and inserted results into database (see above.) Thus, up-to-date performance results were always available company-wide via web-based interface.
Designed and coded a load-testing application in Java to create and manage test clients for an EJB-based Fixed Income global trading application. Load testing application was distributed world-wide (New York, London, Frankfurt and Paris) and used to simulate up to 2000 simultaneous users. Analyzed results from test output to identify performance bottlenecks.Designed and coded a Java test suite for the purpose of regression testing the Fixed Income trading system back-end. Designed and implemented a GUI regression test suite in Silk. Test suite automated the testing of all major GUI features and was used to automate Smoke testing of new builds of the Fixed Income system.
Designed and implemented a regression test suite for a Java-based bond trading application. Wrote extensions to the application in Java to enhance testability of application. Trained personnel in automated testing methodologies and 4Test. Wrote extensive documentation (~100 pages) on the process of automated testing, as well as best practices for implementation using Silk.
Designed and implemented a regression test suite for the purpose of testing a Solaris-based Foreign Exchange trading system. Features include testing of ticket entry, correct blotter behavior (activity, credit exposure, positions, etc.), start of day, and end of day. Coded in C++ tests for the validation of real-time messages between applications across a network. Wrote a Tcl/Tk script for the Systems group to launch different versions of the FX trading application from a GUI interface.
Designed, and implemented a generic object library in 4Test for testing applications written with a proprietary API. Testing objects are configured via ini files, and are instantiated dynamically for greater flexibility. Object library is extremely flexible, and provides a novice QA Partner user with an interface which encapsulates application logic within objects.
Designed, coded and implemented a test suite with QA Partner / QA Organizer to validate a client/server equities order entry system. Order system is distributed among four client machines (both Solaris and Windows clients), including Sales, Trader, Floor, and SIAC, with a Sybase database server back-end. Test suite simulates order entry, execution, and messaging between all front-end machines, and performs GUI validation as well as database validation.
Coded a C++ real-time price provider for a SIAC simulator, for the purpose of accurately simulating automated order handling. Price classes were implemented with Rogue Wave Tools.h++.
Managed project to validate GUI functionality of a Futures trading system comprised of over 600 screens. Provided an easily configurable test suite which can be easily extended, and has support for languages other than English.
Designed and coded utilities to test market feed distribution software. Utilities were written in C++, Perl, and Korn shell. Rewrote Dow Jones' existing tests to increase efficiency. Testing utilities included software to translate data formats, and compare log data from test runs.
Designed and coded a C++ test suite to unit-test API functions for a Foreign Exchange trading application. API functions interfaced with an Oracle database to manipulate trade and currency position data. Aspects of validation included functional, stress and efficiency.
Designed, coded, and maintained a test suite using QA Partner to perform unit, integration, and regression testing of an entire Foreign Exchange trading system. All phases of foreign exchange trading were modeled, from front-office trading to back-office confirmation and instruction. Aspects of validation included functional, stress, efficiency, and integration.
Trained personnel in the 4Test language and use of its IDE, QA Partner.
Designed and implemented a test environment for a 1,600 turret trading floor as part of a team: wrote test plans, advised client staff on hardware and software needs, wrote test specification documents, designed, developed and analyzed test suites written in XRunner (TSL), C, Perl, Korn and C shell. Gave seminars on developing automation tests and the use of automation test suites to improve software quality. Automation tests written included NIS+ and NFS stress tests, IBM AS/400 stress tests, application functionality, application interoperability, Market Data, and Foreign Exchange trade simulation. The automation test environment created was able to realistically simulate and control all aspects of trading on a 1600-turret trading floor from one workstation.In C, added a Motif front-end to a TCP/IP based workstation control application. Application was used to control all aspects of automation testing in extremely large networks.
Designed and coded a test suite to perform automated testing on a 400 turret trading floor. Wrote tests to verify network functionality and bandwidth, application functionality and resiliency to system stress, and system integration.
Maintained a Perl application which was responsible for remote test execution on 150 machines. As a result of this enhancement to the application, communication with its clients, overall performance increased 200%.
Designed and coded test software for two Ethernet device drivers, disk and tape device drivers, and compilers, including C, C++, COBOL, FORTRAN 77, and Pascal. Test development included writing software test plans, writing technical specifications, developing test suites, executing test suites, and maintaining test software.
Developed an Ethernet test suite to cover the user, streams, and protocol layer (TCP and UDP) levels. Executed test suite against a single-interface and a dual-interface Ethernet device driver.
Wrote and maintained a test automation harness in C++ to control execution and error reporting of tests distributed throughout a network.
Designed and implemented a utility to automatically back up and restore critical data to and from a network.
Represented Pyramid Technology as liaison to Olivetti Corp., ensuring that their UNIX port was compliant with various conformance test standards. Trained personnel there in use of the X/Open Conformance Test Suite. Responsible for running and analyzing conformance test suites, including POSIX, X/Open, System V Verification Suite (SVVS), and gABI (Generic Application Binary Interface) tests. Approved all operating system releases based on results of conformance testing.
Designed and implemented an electronics schematic wirelist translation program. Modified and maintained a voicemail/telephone paging system to route phone communication building-wide.
Coursework included Pascal, Ada, C, and data structure theory.
Coursework included C++, SVR4 Kernel programming, and TCP/IP network programming.
My focus areas are around test automation and build and release tools. Any skillset that is no longer current is not mentioned here.
If I didn't write the tool, I don't think I have 5 star knowledge of it.
Most of my work for investment banks was on a contract basis. Since 2001, my experience has been as a full-time employee.
Jason's passion for architecting test engineering systems is infectious. As the automation lead for my team at CMSG, he drove all aspects of the automation platform from the ground up. When it came time to expand the platform to include multiple toolsets, Jason dove in, helping to create a highly stable bridge between proprietary and open source frameworks which helped us meet our overall QA goals of expanding automation inventory. His ability to bootstrap a framework in a short period of time with little direction proved to be incredibly valuable in rapidly including multiple test assets into a common inventory and reporting system.
Jason is one of the most skilled software engineers I've worked with. He is extremely passionate about testing automation, and he leverages his excellent software engineering skills to develop automation frameworks for various parts of the tech stack from front-end UI to back-end services. I would love to partner with Jason again.
Jason is a great human being and has had a variety of roles for CMSG. Jason really thrived in his position as automation lead. He was the chief advocate of automation inside CMSG QA. We went from low automated test coverage to 95% and a lot of credit goes to Jason. Jason is very smart and loves to keep learning about things and pushing the envelope.
I worked with Jason for almost 2 years now and all through, he showed tremendous ability and technical understanding in his work. He is always on top of trying new things and approaches to make the Automation Testing more efficient, reliable and accessible. I highly recommend him for any job and would love to work with him again in the future.
Jason is one of the most dedicated co-workers I've ever worked with. He's extremely conscientious about doing the right thing and will do what it takes to get it done. Jason is always looking for better ways to do things and stays on top of new trends to see how they can help solve problems.
Feel free to contact me below if I may be of service to you. I am based in the San Francisco area. For short contracts, I may be willing to travel if you're not local to the San Francisco Bay Area.