The document discusses a method called "Development Forecast" for improving software quality through real-time analysis. It evaluates the relationship between results from static code analysis tools and subsequent testing results on a software project. The analysis found violations identified through static analysis correlated with defects found later in integration and release testing, suggesting static analysis can help identify quality risks early. The method is proposed as an effective way to prevent project failures by providing continuous feedback to address risks.
This is a free module from my course ISTQB CTAL Technical Test Analyst revised to 2012 syllabus. If you need full training feel free to contact me by email (amraldo@hotmail.com) or by mobile (+201223600207).
QA Interview Questions With Answers from software testing experts. Frequently asked questions in Quality Assurance (QA) interview for freshers and experienced professionals.
This is a free module from my course ISTQB CTAL Technical Test Analyst revised to 2012 syllabus. If you need full training feel free to contact me by email (amraldo@hotmail.com) or by mobile (+201223600207).
QA Interview Questions With Answers from software testing experts. Frequently asked questions in Quality Assurance (QA) interview for freshers and experienced professionals.
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...DevLabs Alliance
DevLabs Alliance Software Testing Interview Questions for SDET will help SDETs to prepare for their interviews. Learn top 20 questions with their answers for Software Testing which are majorly asked in interview for SDET role.
This is the presentation used during the session "Lessons Learned in Software Quality 1" conducted in Amman, PSUT (15, Dec, 2010). Presented by Belal Raslan (Director at Quality Partners) & Rayya Abu Ghosh (Quality Manager at Yahoo! Middle east).
QACampus, a renowned software testing training institute where testing experts are engaged in developing the skills of aspiring testers. A detailed knowledge of software testing life cycle with practical approaches of test and automation tools implementation is provided during training. This effective knowledge is helpful for a great testing career of students.
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...DevLabs Alliance
DevLabs Alliance Software Testing Interview Questions for SDET will help SDETs to prepare for their interviews. Learn top 20 questions with their answers for Software Testing which are majorly asked in interview for SDET role.
This is the presentation used during the session "Lessons Learned in Software Quality 1" conducted in Amman, PSUT (15, Dec, 2010). Presented by Belal Raslan (Director at Quality Partners) & Rayya Abu Ghosh (Quality Manager at Yahoo! Middle east).
QACampus, a renowned software testing training institute where testing experts are engaged in developing the skills of aspiring testers. A detailed knowledge of software testing life cycle with practical approaches of test and automation tools implementation is provided during training. This effective knowledge is helpful for a great testing career of students.
Zoltán Zvara - Advanced visualization of Flink and Spark jobs Flink Forward
http://flink-forward.org/kb_sessions/advanced-visualization-of-flink-and-spark-jobs/
Understanding the physical plan of a big data application is often crucial for tracking down bottlenecks and faulty behavior. Flink and Spark although offering useful Web UI components for monitoring and understanding the logical plan of the jobs, both lack a tool that helps to understand the physical plan of the scheduler and the possibility to monitor execution at a very low level, along with the communication that occur between parallel vertex instances. We propose a tool that allows users to real-time monitor and later to replay, examine job executions on any cluster currently supported by Flink or Spark. The tool also offers monitoring of the distribution of keys in a data stream and can lead to optimizing data partitioning across parallel subtasks in the future.
Hadoop or Spark: is it an either-or proposition? By Slim BaltagiSlim Baltagi
Hadoop or Spark: is it an either-or proposition? An exodus away from Hadoop to Spark is picking up steam in the news headlines and talks! Away from marketing fluff and politics, this talk analyzes such news and claims from a technical perspective.
In practical ways, while referring to components and tools from both Hadoop and Spark ecosystems, this talk will show that the relationship between Hadoop and Spark is not of an either-or type but can take different forms such as: evolution, transition, integration, alternation and complementarity.
International Journal of Soft Computing and Engineering (IJShildredzr1di
International Journal of Soft Computing and Engineering (IJSCE)
ISSN: 2231-2307, Volume-2, Issue-3, July 2012
251
Abstract— In recent years, software testing is becoming more
popular and important in the software development industry.
Indeed, software testing is a broad term encircling a variety of
activities along the development cycle and beyond, aimed at
different goals. Hence, software testing research faces a collection
of challenges. A consistent roadmap of most relevant challenges is
proposed here. In it, the starting point is constituted by some
important past achievements, while the destination consists of two
major identified goals to which research ultimately leads, but
which remains as reachable as goals. The routes from the
achievements to the goals are paved by outstanding research
challenges, which are discussed in the paper along with the
ongoing work.
Software testing is as old as the hills in the history of digital
computers. The testing of software is an important means of
assessing the software to determine its quality. Since testing
typically consumes 40~50% of development efforts, and consumes
more effort for systems that require higher levels of reliability, it is
a significant part of the software engineering
Software testing is a very broad area, which involves many
other technical and non-technical areas, such as specification,
design and implementation, maintenance, process and
management issues in software engineering. Our study focuses on
the state of the art in testing techniques, as well as the latest
techniques which representing the future direction of this area.
Today, testing is the most challenging and dominating activity
used by industry, therefore, improvement in its effectiveness, both
with respect to the time and resources, is taken as a major factor
by many researchers
The purpose of testing can be quality assurance, verification,
and validation or reliability estimation. It is a tradeoff between
budget, time and quality. Software Quality is the central concern
of software engineering. Testing is the single most widely used
approach to ensuring software quality.
(Keywords: SDLC, Software quality, Testing techniq
Technique .)
I. INTRODUCTION
I. Introduction: Software Testing
Software testing is the process of executing a program or
system with the intent of finding errors. Software is not unlike
other physical processes where inputs are received and
outputs are produced. Where software differs is in the manner
in which it fails. Most physical systems fail in a fixed (and
reasonably small) set of ways. By contrast, software can fail in
Manuscript received: on July, 2012
Maneela Tuteja, Department of Information TechnologyDronacharya
College of Engineering, Gurgaon, Haryana,.
Gaurav Dubey, Amity School of Computer Sciences, Amity University,
Uttar Pradesh,India.,
.
many bizarre ways. Detec ...
Modern gadgets and machines such as medical equipments, mobile phones, cars and even military hardware run on software. The operational efficiency and accuracy of these machines are critical to life and the well being of modern civilization. When the software powering these machines fail it exposes life to danger and can cause the failure of businesses. In this paper, software quality measure is presented with the emphasis on improving standard and controlling damages that may result from badly developed application. The research shows various software quality standards and quality metrics and how they can be applied. The application of the metrics in measuring software quality in the research produced results which shows that the code metrics performance is better than the design metrics performance and points to a new way of improving quality by refactoring application code instead of developing new designs. This is believed to ensure reusability and reduced failure rate when software is developed
Testability measurement model for object oriented design (tmmood)ijcsit
Measuring testability early in the development life cycle especially at design phase is a criterion of crucial importance to software designers, developers, quality controllers and practitioners. However, most of the
mechanism available for testability measurement may be used in the later phases of development life cycle.
Early estimation of testability, absolutely at design phase helps designers to improve their designs before
the coding starts. Practitioners regularly advocate that testability should be planned early in design phase.
Testability measurement early in design phase is greatly emphasized in this study; hence, considered significant for the delivery of quality software. As a result, it extensively reduces rework during and after implementation, as well as facilitate for design effective test plans, better project and resource planning in a practical manner, with a focus on the design phase. An effort has been put forth in this paper to recognize the key factors contributing in testability measurement at design phase. Additionally, testability
measurement model is developed to quantify software testability at design phase. Furthermore, the relationship of Testability with these factors has been tested and justified with the help of statistical measures. The developed model has been validated using experimental tryout. Finally, it incorporates the empirical validation of the testability measurement model as the author’s most important contribution.
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEMijseajournal
To improve the reliability and efficiency of Web Software, the Testing Team should be creative and
innovative, the experience and intuition of Tester also matters a lot. And most often the destructive nature
of Tester brings reliable software to the user. Actually, Testing is the responsibility of everybody who is
involved in the Project. But, one’s personal curiosity and attention is more important than the various
techniques and tools available in the market for Web Testing due to the phenomena that Software Testing is
an art. In this study, we are actually discussing certain techniques and tools which can be helpful to
minimize bugs in Web Application and achieve reliability and efficiency to a certain level. Indeed, for
bettering the quality of Web Application, Testing may not be considered as the only effective method
because no one can certify that a system is bug-free. This paper presents some essential web testing
techniques, strategies, methods and tools which need to be focused on when performing Web Testing for
several web applications in order to achieve better results.
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEMijseajournal
To improve the reliability and efficiency of Web Software, the Testing Team should be creative and innovative, the experience and intuition of Tester also matters a lot. And most often the destructive nature of Tester brings reliable software to the user. Actually, Testing is the responsibility of everybody who is
involved in the Project. But, one’s personal curiosity and attention is more important than the various techniques and tools available in the market for Web Testing due to the phenomena that Software Testing is an art. In this study, we are actually discussing certain techniques and tools which can be helpful to minimize bugs in Web Application and achieve reliability and efficiency to a certain level. Indeed, for
bettering the quality of Web Application, Testing may not be considered as the only effective method because no one can certify that a system is bug-free. This paper presents some essential web testing
techniques, strategies, methods and tools which need to be focused on when performing Web Testing for
several web applications in order to achieve better results.
How to develop a project or applicationTime Tutors
The software is an indispensable thing in the modern age. This presentation I tried to exposed application development lifecycle. From starting to end development.
STATISTICAL ANALYSIS OF METRICS FOR SOFTWARE QUALITY IMPROVEMENT ijseajournal
Software product quality can be defined as the features and characteristics of the product that meet the user needs. The quality of any software can be achieved by following a well defined software process. These software process results into various metrics like Project metrics, Product metrics and Process metrics. Software quality depends on the process which is carried out to design and develop software. Even though the process can be carried out with utmost care, still it can introduce some error and defects. Process metrics are very useful from management point of view. Process metrics can be used for improving the software development and maintenance process for defect removal and also for reducing the response
time.
This paper describes the importance of capturing the Process metrics during the quality audit process and also attempts to categorize them based on the nature of error captured. To reduce such errors and defects found, steps for corrective actions are recommended.
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...IJERA Editor
The growth of the software development industry approaches the new development methodologies to deliver the
error free software to its end-user fulfilling the business values to product. The growth of tools and technology
has brought the automation in the development and software testing process, it has also increased the demand of
the fast testing and delivery of the software to end customers. Traditional software development methodologies
to trending agile software development trend have brought new philosophy, dimensions, and processes having
invested new tools to make process easy. The Agile development (Scrum, XP, FDD, BDD, ATDD, ASD,
DSDM, Kanban, Crystal and Lean) process also faces the software testing model crises because of the fast
development of life cycles, fast delivery to end users without having appropriate test metrics which make the
software testing process slow as well as increase the risk. The analysis of the testing metrics in the software
testing process and setting the right lean test metrics help to improve the software quality effectively in agile
process.
From previous year researches, it is concluded that testing is playing a vital role in the development of the software product. As, software testing is a single approach to assure the quality of the software so most of the development efforts are put on the software testing. But software testing is an expensive process and consumes a lot of time. So, testing should be start as early as possible in the development to control the money and time problems. Even, testing should be performed at every step in the software development life cycle (SDLC) which is a structured approach used in the development of the software product. Software testing is a tradeoff between budget, time and quality. Now a day, testing becomes a very important activity in terms of exposure, security, performance and usability. Hence, software testing faces a collection of challenges.
Similar to 5WCSQ(CFP) - Quality Improvement by the Real-Time Detection of the Problems (20)
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
5WCSQ(CFP) - Quality Improvement by the Real-Time Detection of the Problems
1. 5th World Congress for Software Quality – Shanghai, China – November 2011
Quality Improvement by the Real-Time Detection of the Problems
--- DevCast (Development Forecast) for the Failure Project Prevention --Takanori Suzuki
Acroquest Technology Co., Ltd.
Kanagawa, Japan
takanori@acroquest.co.jp
Abstract
In software development, the quantitative management might be actually insufficient because of the
influence of the analysis relied on individual.
For example, usual manager of quality assurance judge the level of software quality by the defect density
and the defect convergence. However, the testing results is depends on the precision of test items and the
skill of testers, etc. Therefore it is difficult to evaluate software quality by the testing results.
For improving such a case, it is necessary that the quality is analyzed in real-time and the projects failure
risks are found beforehand.
In this document, I evaluated the effectiveness of multilateral static analysis and the relationship of them
with the testing results.
1. Introduction
Only 30% of software development projects can succeed in Japanese software development industry[1].
The success means to manage the software development project within planed quality, cost and delivery.
The others, 70% of software development projects cannot finish within the planned criteria. Such situation is
seriously abnormal compared with other industries. However, this situation is not only in Japan, but also in
other countries and these worse situation are not changed in several years[2].
Quality Assurance and Quality Improvement for software development always be the most important field,
but the big improvement has not come yet because of no effective ways in several decades.
Especially, the reasons of failure of recent software development projects are the quality problems. In
addition to that, the quality problem affects not only developers and customers, but also the society using
the software.
Therefore, I focused on the software quality and propose the method to detect and correct the quality
problems in real-time.
2. Invisible quality problem
We usually use metrics to evaluate quality in software test. The representative metrics are defect density
(number of defects per volume of codes) and defect convergence (total number of defects per expected
number of defect). These metrics are independent from test items, reliability of test items and precision of
testing.
We have to consider the following factors for evaluation criteria of test completion.
・
・
・
・
Quality of input specification
Quality of test items
Quality of defect
Quality of tester
2. 5th World Congress for Software Quality – Shanghai, China – November 2011
However, it is difficult to consider these all factors. Therefore, many software products which satisfied
criteria in the certain process still include many defects rather than expected.
Figure 1. Test completion and factors for it
QCD(Q:Quality C:Cost D:Delivery) is the basic index for projects management. It is easy to calculate Cost
and Delivery. However it is difficult to calculate Quality with simple metrics. That is why it is difficult to detect
quality problems and it is almost too late to correct them if you can find out. In actual development site, the
priority of quality is usually lower against cost and delivery.
Figure 2. The gap between the ideal and the reality in a test process
Quality Improvement by the Real-Time Detection of the Problems
--- DevCast (Development Forecast) for the Failure Project Prevention ---
Page 2 of 6
3. 5th World Congress for Software Quality – Shanghai, China – November 2011
For breaking through these situations, we need a method with which we judge actual quality of software
product in real-time, and predict the future problem and correct them.
3. "Development Forecast" approach
PDCA, cyclic management style, was made popular by Walter A. Schewhart and Dr. W. Edwards Deming,
in 1950's[3], and applied for software engineering.
However, In today's software development projects being made to large scale, being shortened for the
schedule, being needed to keep rapid-changing technical-elements, every day, being decentralized as
off-shore/near-shore.
Then, the complexity and the uncertainty's are just increasing in these projects, and so it is difficult to even
make the first plan far from the improvement. And there are a lot of projects fallen through.
Against these situations, I propose an approach, "Development Forecast", which starts with metrics and
analysis of the project's situation and which is led to improvement. It is different from the project
management based on the planning. It is an approach in which the risk of leading to the failure of the project
is in real time feedback, by collecting and analyzing data, based on the fact (product) by the automatic
operation or using metrics tools and so on.
Figure 3. The approach for the failure project prevention
This time, I applied this approach to a static analysis of the source code, and considered the relativity of the
analysis' result and the result of the following test process.
4. Consideration concerning multilateral analysis source code
There is not so much research that evaluates relativity of the static analysis for the source code and the test,
though a lot of research showed that static analysis is effective.
In this research, I observed a software development project, using Java language, and evaluated the
relativity between the result of the tool based static analysis for source code and the quality evaluation
based on the number of the defects in the testing.
Quality Improvement by the Real-Time Detection of the Problems
--- DevCast (Development Forecast) for the Failure Project Prevention ---
Page 3 of 6
4. 5th World Congress for Software Quality – Shanghai, China – November 2011
4.1 Content of analysis
In this document, I use the metrics in [Table 1. static quality evaluation] :
and I will use the term "static quality evaluation" as these entire evaluation by those two or more viewpoints
together.
Table 1. static quality evaluation
No
Metrics
Tool
Description
1)
Coding style violation
Checkstyle
Check source code and count the coding standard
violations.
2)
Static analysis violation
FindBugs
Check source code and count the static analysis
violations.
3)
Cyclomatic complexity
Number
JavaNCSS
Count number of methods having a cyclomatic
complexity (McCabe’s) greater than 30.
4)
Clone code lines
CPD
Count duplicate code.
The tools[4] used in this research are open-source-tools, generally used on the software development.
In order to compare the results of the analysis for each module, varied in scale, each result -- 1)-3): total
value of violations, 4): code-clone lines -- are calculated respectively by dividing on the scale of each
module (lines of code).
And then, the effectiveness of the static quality evaluation was evaluated by analyzing relativity between
these results of the static quality evaluation and the tendency of the project's defects detected in the
integration test and the release test.
4.2 The relativity between the result of static quality evaluation and the result of the software test
There are 5 modules (A - E) in this Project's product, and the results of the static quality evaluation for the
modules are showed in the [Figure 4. Approach static quality evaluation results].
Figure 4. Approach static quality evaluation results
Quality Improvement by the Real-Time Detection of the Problems
--- DevCast (Development Forecast) for the Failure Project Prevention ---
Page 4 of 6
5. 5th World Congress for Software Quality – Shanghai, China – November 2011
And the results of the integration test and the release test for the modules are showed in the [Figure 5.
Defects in the integration test and the release test].
Figure 5. Defects in the integration test and the release test
[Figure 5. Defects in
the integration test and the release test] shows the following:
- In a module, a lot of defects were detected in the integration test and the release test (mod-A). In another
one, though few defects (not reached the target value) were detected in the integration test, a lot detected in
the release test (mod-D).
- Contrary, there was a function with few detection in integration test (not reached the target value) and with
few detection in release test, that means the quality is GOOD (mod-C).
According to these result shows how difficult it is to evaluate the quality of the software product only by the
test. --- I do not mean to deny the effect of the test, though. ---
On the other hand, seeing the [Figure 4. Approach static quality evaluation results] and [Figure 5. Defects in the
integration test and the release test], it is found that many defects were detected by the release test in the
module in which many violations are detected through the static quality evaluation(mod-A, C, D).
Then it is thought that the static quality evaluation is one of the efficient measures to specify which module
has some quality risks before the test executed, because the tendency of the static quality evaluation and
the tendency of the test have the correlation, though the number of defect is not a linear relation.
To be brief, it is expected to improve the software quality before the testing, to specify the modules which
contain quality risks by the static quality evaluation for the source codes and to treat the risk properly.
Quality Improvement by the Real-Time Detection of the Problems
--- DevCast (Development Forecast) for the Failure Project Prevention ---
Page 5 of 6
6. 5th World Congress for Software Quality – Shanghai, China – November 2011
5. Final
In this document, I evaluated the effectiveness of multilateral static analysis, as an approach to prevent
project failure as earlier as possible, because the approach will provide us real-time feedback about the risk
of failure to project. As a result, it can find the features which have quality risk and improve that.
This quality analysis method can be expected to remove results that relied on individual and to get real-time
results because it is based on the automatic analysis of the artifacts by the tools. I think that this approach is
effective to prevent failure of the running project.
The following things are thought as future subject.
1. Statistical analysis intended for a lot of projects.
2. Trend analysis of the effects of metric type.
3. Examination and verification of similar analysis in design process.
References
[1] NIKKEI Computer (No.2008-12-1), 2nd project research of 800 companies, NIKKEI BP, 2008.
[2] Jorge Dominguez, The Curious Case of the CHAOS Report 2009, Project Smart, 2009
[3] Wikipedia [Online], http://en.wikipedia.org/wiki/PDCA (accessed on 2008/12)
[4] Checkstyle(http://checkstyle.sourceforge.net/), FindBugs(http://findbugs.sourceforge.net/),
JavaNCSS(http://javancss.codehaus.org/), CPD(http://pmd.sourceforge.net/cpd.html)
Quality Improvement by the Real-Time Detection of the Problems
--- DevCast (Development Forecast) for the Failure Project Prevention ---
Page 6 of 6