|
1. How the Repository Driven Test Automation (RDTA) will make test automation more efficient, easier & maintainable? [Half Day]
Authors: Dani Almog, is a senior researcher and lecturer on Software
Quality and test automation at Ben Gurion University (BGU) and Shamun
Collage of Engineering (SCE).
Yaron Tsubery is the current VP Testing Division Manager at Ness
Technologies, and had been a Director of QA & Testing Manager at Comverse
since 2000 until 2013.
Abstract
Many testing organizations find themselves lagging behind the
development forces on the agile journey; it is obvious for us to demand an
easy integration between all software program elements developed. Do we
treat our testing artifacts in the same manner? It is time to make the
change. Take this opportunity and prepare a right testing infrastructure
that will enable you to reuse and integrate all testing artifacts as basic
components for the same puzzle. Make test automation to integrate and
operate in similar manner. Mobile emerging world present this issue even
harder - the versatile and speedy continues integration required to
multiply our demand for reuse and efficiency.
Proposing reuse of testing artifacts as a fundamental principle for the
creation test automation is what makes RDTA a unique approach to the
buildup process of test automation infrastructure. Having your attention
aimed to the question; what will be done with your efforts later on and
how someone else can benefit from your previous efforts? Drove us to the
new concept for forming test automation. The term software repository
here refers to a storage location from which software packages or
artifacts may be retrieved to be reuse on another system or other software
products.
This tutorial explores different aspect of software test automation
artifacts reuse and elaborate several practical implication and changes
implied from the new paradigm to be implemented in a software development
organization. Report about an empirical case study of implementation of
RDTA in a large organization will conclude this tutorial, presenting the
benefits and some of the obstacles facing this approach.
RDTA approach is yet to be matures and elaborated, this tutorial will
present several new subject needed to be formally theoretically modeled
and addressed.
Target Audience:
Test automation tools experts & manufacturer, Software
Testers, Testing Managers, QA Manager/Director, Academic research, IT
Manager/Director making testing application decisions, Project Manager,
Application Development Director.
Selected Publications
- D. Almog and T. Heart,” What Is a Test Case? Revisiting the Software
Test Case Concept”, in Software Process Improvement, R.V. O’Connor, et
al., Editors. 2009, Springer Berlin Heidelberg. p. 13-31.
- D. Almog and T. Heart, “A Structured Approach to Test Case Definition
with an Exemplar Illustration”, associationforsoftwaretesting.org
- Almog, D.; Heart, T., "Developing the Basic Verification Action (BVA)
Structure towards Test Oracle Automation," Conference on Computational
Intelligence and Software Engineering (CiSE), 2010
- Almog. D, Tusbery .Y., Reuse of Unit Test Artifacts – Allow Us to
Dream. AgileRecord . November 2013: issue 16 p. 49 - 52.
2. SOFTWARE PROCESS INTELLIGENCE [Half Day]]
Authors: Ashish Sureka , IIIT Delhi, Atul Kumar, Siemens Corporate Research
and Technology, Shrinath Gupta , Siemens Corporate Research and Technology
Abstract
Software Process Intelligence (SPI) is an emerging and evolving discipline
involving mining and analysis of software processes. This is modeled on
the lines of Business Process Intelligence (BPI), but with the focus on
software processes and its applicability in software systems. Process
mining consists of mining event log and process trace data for the purpose
of process discovery (run-time process model), process verification or
compliance checking (comparison between design-time and run-time process
model), process enhancement and recommendation.
Software Process Mining is a three word phrase which can be viewed from
two perspectives: Software + Process Mining and Software Process + Mining.
Software development and evolution involves usage of several workflow
management and information systems and tools such as Issue Tracking
Systems (ITS), Version Control Systems (VCS), Peer Code Review Systems
(PCR) and Continuous Integration Tools (CIT). Such information systems log
data consisting of events, activities, time-stamp, user or actor and
context specific data. For example, a popular open-source ITS such as
Bugzilla logs the submission time of a bug report, user id and name of the
bug reporter, title and description of the bug report in addition to
several other information. Any change made to the bug report during its
life-cycle is logged. Mining this information could provide more insight
into the processes involved and also help in predictive analysis. Such
events or trace data generated by information systems used during software
construction (as part of the software development process) contains
valuable information which can be mined for gaining useful insights and
actionable information.
The pre-requisites for the tutorial is basic background in data mining and
software engineering. The tutorial will be divided into 3 parts and cover
topics such as: fundamentals of process mining, familiarity with
open-source process mining framework ProM, basics of Business Process
Modeling Notation (BPMN), overview of mining software repositories and
software analytics, understanding of common software repositories and
archives, important applications of mining software repositories, basics
of process mining software repositories, techniques and applications.
Target Audience:
Industry practitioners and researchers, Academics in
the area of Software Analytics, Software Intelligence, Mining
Software Repositories and Process Mining
Selected Publications
- MSR 2014: Proceedings of the 11th working conference on mining
software repositories. 2014.
- M. Gupta and A. Sureka. Nirikshan: Mining bug report history for
discovering process maps, inefficiencies and inconsistencies. In
Proceedings of the 7th ISEC, 2014.
- M. Gupta, A. Sureka, and S. Padmanabhuni. Process mining multiple
repositories for software defect resolution from control and
organizational perspective. In Proceedings of the 11th Working Conference
on Mining Software Repositories, MSR 2014, 2014.
3. Applying Design Principles in Practice [Half Day]
Authors: Girish Suryanarayana, Senior Research Scientist at Research and Technology
Center, Siemens Technology and Services Pvt. Ltd.
Ganesh Samarthyam, Independent consultant and corporate trainer,
Bangalore, India sgganesh@gmail.com
Tushar Sharma, Technical Expert, Research and Technology Center, Siemens
Technology and Services Pvt. Ltd., Bangalore, India tusharsharma@ieee.org
Abstract
Capers Jones, a well-known name in the field of software engineering
methodologies, conducted a study in 2012 across five large corporations
and found that the number of software defects that can be traced back to
errors in software design was as high as 64%! This significant percentage
of defects occurring due to errors in software design underlines the
importance of high-quality software design for developing high-quality
software. However, as Fred Brooks observes in his book “The Mythical Man
Month” [1], software design is an inherently complex activity; the
intangible nature of software makes it difficult for humans to envision,
develop, and reason about its design.
It is widely recognized that the key approach for taming the complexity of
software development is to apply relevant design principles. According to
SWEBOK v3 [2], software design principles are key notions that provide the
basis for many different software design approaches and concepts. In our
experience as consultant architects and trainers on software architecture
and design in a corporate setting, we find that software engineers “know”
design principles but sorely lack the experience and expertise to apply
them in practice.
We propose “enabling techniques” to bridge the gap between the fundamental
design principles and their application to real-world situations. These
enabling techniques translate the fundamental principles to corresponding
actionable ideas. For instance, enabling techniques for the design
principle “encapsulation” are “hiding implementation details” and “hiding
variations”. A developer can comprehend the principle with more rigor by
practicing specific actionable enabling techniques.
Target Audience:
software developers, software designers, architects,
technical leads, and project/program managers, researchers.
Selected Publications
- Ganesh Samarthyam, Girish Suryanarayana, Tushar Sharma, Shrinath Gupta,
MIDAS: a Design Quality Assessment Method for Industrial Software,
International Conference on Software Engineering, Software Engineering in
Practice Track, 2013: 911-920.
- Ganesh Samarthyam, Tushar Sharma, Girish Suryanarayana, Towards a
Principlebased Classification of Structural Design Smells, Journal of
Object Technology 12(2): 1: 129 (2013).
- Ganesh Samarthyam, Tushar Sharma, Girish Suryanarayana, Software Design
Quality in Practice: Refactoring for Software Design Smells, Tutorial in
36th International Conference on Software Engineering, Hyderabad, 2014.
- Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma, Refactoring for
Software Design Smells: Managing Technical Debt, Morgan Kaufman/Elsevier,
(to be published in November 2014).
4. Recommendation and Regression Test Suite Optimization Using Heuristic Algorithms
Authors: Satya Sai Prakash K., Prasad S U M Dhanyamraju, and Gopi Krishna D.
Engineering & Research Services, HCL Technologies, Hyderabad, India
Abstract
In the Software Development Life Cycle, testing is an integral and
important phase. It is estimated that close to 45% of project cost is
marked for testing. Defect removal efficiency is directly proportional to
the rigor of the testing and number of test cycles. Given this prelude,
important optimization dual is to reduce the testing time and cost without
compromising on the quality and coverage. We revisit this popular research
and industry sought problem, in the historical data perspective. For this,
it is important to follow an approach and minimize the available test
suites and recommend N Test cases based on multiple heuristics. The
heuristics can be derived based on Test Manager, Test Lead and/or Test
Director requirements and inputs. The N test cases that are to be
recommended will be derived upon executing evolutionary randomized
algorithms such as Random Forest / Genetic Algorithm. These algorithms fed
with historically derived inputs such as test case execution frequency,
test case failure pattern, change feature pattern and bug fixes &
associations. The recommended test suite is further optimized based on a 2
dimensional approach. Test case specific vertical constraints such as
distribution of environments, distribution of features as well as Test
suite composition parameters such as golden test cases, sanity test cases,
that serves as horizontal parameters.
Target Audience:
software developers, test Managers, QA professionals,
technical leads, and project/program managers, researchers.
Selected Publications
- Prasad Dhanyamraju, Simy Chcko, Satya Sai Prakash K., Gopi Krishna D.,
“Automated Regression Test Suite Optimization based on Heuristics”,
Accepted at 4th IEEE Coference on Artificial Intelligence and Applications
in Engineering and Technology, 3 -5, December 2014, Kota Kinabalu,
Malysia.
- Prasad Dhanyamraju, Simy Chcko, Satya Sai Prakash K., Gopi Krishna D.,
“Automatically recommending test suite from historical data based on
randomized evolutionary techniques”, Priority Application#3073/CHE/2014,
US Application#14507857.
|
|