Industrial Collaborations and Consultancy
Knowledge exchange and technology transfer in Software Engineering:
In parallel to my full-time academic career, I am also a practicing software engineering consultant, trainer and coach. I am passionate about this since I beleive it is important to ensure relevance of software engineering research.
My main objective is to help software engineers develop and test software intensive-systems in a more effective and efficient manner.
I actively provide consultancy and corporate training services in the areas of software testing and quality assurance, model-driven development, and software maintenance. Many of those consultancy activities has led, in the past, to several innovative and exciting collaborative industry-academia research projects.
I have had the pleasure of collaborating with 30+ companies in several countries so far in my career.
Portfolio of my industry-academia collaborations and projects:
Some of the companies, that I have collaborated with in the past and also currently, are listed in the right-hand side.
The following side-set summarizes the portfolio of my consulting services and industry-academia collaborations since 2006. It contains a few slides from each industry project and highlights how we helped companies develop and test software intensive-systems in an effective and efficient manner.
A selected list of consulting services and projects:
Client (industry partner): Saha BT (IT) A.Ş., Turkey
Time duration of consulting engagement: 2019- now
Taking test automation practices to the next levels: Increasing the company's capabilities in test automation
Training test engineers on various topics of test automation
What we offered (solution):
Technology transfer in model-based testing (MBT) by coaching 5+ test engineers, to develop large test suites for several web applications under test. Several demo videos can be found in this YouTube list. An example demo video from one of the MBT projects is shown below. MBT tool used: GraphWalker. Example test suites can be found in this GitHub repo.
Applying systematic software test-code engineering to increase quality of existing test code, increasig their internal and external quality attributes, e.g., maintainablity, and reducing the amount of test smells. This work was conducted in the context of the Gauge test automation frameowrk as the existing test suites had been development in that context. An example output paper from that work package can be found below.
Effective training has been provided to a team of 5+ test engineers on various topics of test automation (e.g., BDD and model-based testing) to ensure development of test suites in highest levels of quality
Impacts of our work: This consulting engagement and industry-academic collaboration has provided various benefits and improvements in the context of the industry partner, such as:
Deployment of model-based testing (MBT) has led to various benefits, such as: Improved test-case design practices, due to MBT: Test-case design before MBT was ad-hoc and, as per inspection of the first author (an expert in software testing), many deficiencies were identified, e.g., duplications among different test suites (could lead to test integrity problems, etc.), and many missing test paths and test cases; Ability to systematically assess requirements coverage by using MBT; Increased test effectiveness in detection of real faults.
Application of software test-code engineering practices to Gauge test suites have led to various benefits, e.g.: Clarity and road-map for test engineers: First of all, test engineers have clarity on how to develop Gauge test scripts, since the light-weight model-based test design approach provide a clear road-map for test engineers and makes it easier to know the progress and what additional test cases to derive; Higher quality test script in term of modularity with no/less duplication: Since the light-weight test design approach breaks the test design problem in-to smaller parts ("divide and conquer"), test engineers are less likely to de-velop "spaghetti"-style test scripts with no/less duplication.
Client (industry partner): HAVELSAN A.Ş., Ankara, Turkey
Time duration of consulting engagement: 2015- 2019
Designing the "right" test automation strategy / architecture; and follow-up deployment and assessment of test automation for several projects/teams
Assessment and improvement of test process maturity using TMMI and TPI-Next models
Training test engineers on various topics of test automation
What we offered (solution): Through a great/effective industry-academia collaboration, lasting 4 years, we accomplished a LOT, some of which were:
To be written...
Effective training has been provided to a team of 10+ test engineers on various topics of test automation to ensure development of test suites in highest levels of quality
Impacts of our work:
To be written...
Methodological research on industry-academia collaborations:
My collaborators and I are conducting methodological research on industry-academia collaborations. The followings are several example papers in this direction:
Talks in indstrial Software Engineering Conferences
I get invitations to present talks in industrial software engineering conferences or local events organized by companies. The following is a selected list of my industry talks in the past. Slides of most talks can be found in my SlideShare.net profile. Some of the videos are also on YouTube.
Vahid Garousi, Alper Buğra Keleş, Yunus Balaman, Zeynep Özdemir Güler, "Test automation with the Gauge framework: Experience and best practices", South East European Software Testing Conference (SEETEST), Sofia, Bulgaria, October 1-2, 2020
Invited speaker, Tesena test conference, "Can we do it better? Improving the maturity of software testing in test teams", Prague, Czech Republic, Oct. 5, 2018 - Slides
Invited speaker, “Success stories of industry-academia collaborations in Software Engineering: Experience from Canada and Turkey (in Turkish: Yazılım mühendisliğinde üniversite-sanayi işbirliği başarı hikayeleri: Kanada ve Türkiye'den tecrübe ve kanıtlar)”, HAVELSAN Academy Days (Akademi Günleri), Ankara, Turkey, May 11, 2016
Invited speaker, “A review of career paths, education and learning resources in software testing”, Ankara Testing Days event (Ankara Test Günleri), Ankara, Turkey, May 5, 2016 - Slides
Invited speaker, “Software Test-Code Engineering: Developing, verifying and maintaining high-quality test scripts”, Ankara Testing Days event (Ankara Test Günleri), Ankara, Turkey, June 10, 2015 - Slides
Invited speaker, “Success stories in Software Testing: A Canadian-Turkish Perspective”, Ankara Testing Days event (Ankara Test Günleri), May 2014
Invited speaker, “A Systematic Approach to Software Test Automation and How to Increase its ROI”, TestIstanbul industry conference, Istanbul, Turkey, May 23-24, 2013
Invited speaker, “Software Test Automation and its ROI (Return On Investment)”, Invited talk for SMART Technologies Corporation, Calgary, Nov. 8, 2012
Invited speaker, “Success Stories in Industrial Software Testing Research and Education: A Canadian Perspective”, Invited talk, YTKDM (Software Testing and Quality Assurance Center), Scientific and Technological Research Council of Turkey, Istanbul, Turkey (BILGEM, TÜBITAK), July 24, 2012
Invited speaker, “Software Testing Education and Training: How can we train top-quality Software Test Engineers?”, IEEE Computer Society - Vancouver Chapter, Vancouver, BC, May 2012
Invited speaker, "Better Software Testing through University/Industry Collaborations", Calgary Software Quality Discussion Group (SQDG), September 20, 2011
Invited speaker, “Metrics and Measurement in Software Testing”, Toronto TesTrek Symposium), organized by the Quality Assurance International (QAI) Global Institute, Oct. 18-21, 2010
Invited speaker, “Recent Trends in Software Testing: Opportunities for Industry-Academia Collaborations”, YouTube Corporation, San Bruno, California, June 30, 2010
A few selected videos from my industry talks
Deciding what and when to automate in testing: Experience from multiple projects