Uploaded by sachith sulakkhana

SE F

advertisement
OTHM LEVEL 5 DIPLOMA IN
INFORMATION TECHNOLOGY
Certificate Qualification Ref. No.: 603/3614/6
Software Engineering
1
Table of Contents
Different modelling languages followed by an explanation of the benefits of using modelling
languages in system design. ....................................................................................................... 3
What is Modelling .................................................................................................................. 3
Modeling Languages .............................................................................................................. 3
System Modeling Language ............................................................................................... 4
Object Modeling Languages ............................................................................................... 4
Virtual Reality Modeling Language ................................................................................... 4
Data Modeling Language ................................................................................................... 4
Benefits of Using Modelling Languages in System Design .................................................. 5
Evaluation of How Software Testing Differs from Different Strategies. .................................. 6
What is Software Testing? ..................................................................................................... 6
Different Strategies for Software Testing .............................................................................. 6
Difference between testing methodologies and testing methods ..... Ошибка! Закладка не
определена.
Some Testing Methods ........................................................................................................... 8
Unit Testing ........................................................................................................................ 8
Integration Testing .............................................................................................................. 8
Functional Testing .............................................................................................................. 8
Regression Testing ............................................................................................................. 8
System Testing ................................................................................................................... 9
Performance Testing ........................................................................................................... 9
Acceptance Testing............................................................................................................. 9
Software Testing Tools Available for The Automation of The Testing Process. .................... 10
Selenium ............................................................................................................................... 10
TestingWhiz ......................................................................................................................... 10
TestComplete ....................................................................................................................... 11
GUI testing ........................................................................................................................... 11
Ranorex ................................................................................................................................ 11
Sahi ....................................................................................................................................... 12
Katalon Studio ...................................................................................................................... 12
UML class diagram for automated teller machine (ATM) Scenario ....................................... 14
UML class diagram for Extension Code Scenario ................................................................... 15
References ................................................................................................................................ 16
2
Different modelling languages followed by an explanation of the
benefits of using modelling languages in system design.
What is Modelling
Models are a type of description that is widely used in the creation of software programs.
They're abstractions that help builders deal with the complexity of the problem they're
investigating or the solution they're developing by indicating and communicating what's vital
without going into unnecessary detail.
Different sorts of design and engineering employ modeling. Architects, for example, promote
several architectural models, some of which focus on structures, others on materials, others
on ergonomics, and so on. In software development, the same thing happens: some fashions
are used to capture properties of the problem domain, such as key elements of the business or
how its approaches work, while others are used to consider unique aspects of the software,
such as how the code is divided and organized, or how a variety of software elements speak
and work together. Each mannequin is an abstract representation of a particular view of the
system, which may change as the improvement process progresses.
Modeling Languages
The modeling language is largely employed in the fields of computer science and engineering
to create new software, systems, gadgets, and equipment fashions. The context of modeling
languages is mostly textual and graphical; nonetheless, modeling languages are classified into
four categories based on the requirements and domain in use. System modeling language.
•
Object modeling languages
•
Virtual reality modeling language
•
Data modeling language
3
System Modeling Language
The Systems Modelling Language (SysML) is a modeling language for engineering systems
that is used on a daily basis. SysML is a graphical notation that aids in the analysis, formatting,
and verification of complex structures containing hardware, software, information, persons,
procedures, and services. SysML provides graphical representations for modeling machine
behavior, needs, structure, and parametrical aspects that are used to connect with other
engineering assessment models via the OML XML Metadata Interchange.
Object Modeling Languages
Object modeling languages are semi-formal graphical specifications. They're tools for
capturing and formalizing requirements early in the software development process, as well as
detailing designs, software architecture, and even actual implementations later on. Barbier and
Henderson-Sellers
Virtual Reality Modeling Language
The virtual reality modeling language (VRML) is also used to express triangle facets on a floor.
They're similar to STL documents in terms of structure, but they're usually prepared in smaller
file sizes and coded in a more efficient way to make them suitable for transmission over the
Internet. VRML also enables for the insertion of color and texture mapping to models, as well
as the incorporation of animation and sound data. A more advanced version of VRML known
as X3D may include additional information such as geo-locations and improved rendering.
Interactive teaching aids and procedural training/planning visualizations are examples of
applications in the scientific field, and they may be useful to health care professionals of all
levels of experience, from medical students to consultants. (Medical Modeling (Second
Edition), 2015, Bibb & Paterson)
Data Modeling Language
A data model is one of the most vital tools in the format process, however, it has to be
completed right. It very often begins as a format of the facts necessities that you use to talk
4
with the customer and is refined over and over till you get it right. However, a frequent
misconception is that a records model is only an image of a database. That is partly true,
however, a model is truly so a good deal more. A high-quality data mannequin includes
nongraphical representations of distinctly an awful lot the whole thing about a database and
serves as the main documentation for the life cycle of the database. Aspects of the mannequin
will be beneficial to developers, users, and the database directors (DBAs) who hold the system.
(Davidson & Moss, 2016)
Benefits of Using Modelling Languages in System Design

Increases the development team's productivity (e.g. models can be used for a semiautomatic code-generation). Even if you don't believe in the miracle of fully automated
code generation, models and code generation can save you a lot of time by automating
the most tedious and time-consuming coding tasks. According to our own "Pareto
precept for model-driven development," 20% of modeling effort is enough to yield 80%
of software code.

Decreases the number of bugs in the final code (models facilitate the early assessment
of the system). There is a large range of tools that may help you verify, validate, and
test your system according to its standards. The earlier the fault is identified, the easier
and less expensive it is to correct it.

Modeling, too, enables for early examination of options through the use of mannequin
simulation techniques.

Captures and organizes the system's perception. This also makes it easier to integrate
new team members. Documentation is a good fit for models.

Increases the system's breakdown and modularization.

Aids in the evolution and renovation of the system (e.g. by means of facilitating tracing
back the code to the authentic requirements, this makes it easier to hit upon the
components of the machine code that desires to be modified).

Makes it easier to reuse system components in new projects. Finally, in the mid-term,
you maximize the benefits of software modeling technology.
5
Evaluation of How Software Testing Differs from Different
Strategies.
What is Software Testing?

Software testing is a type of investigation used to determine if the product program
contains any defaults or errors so that the errors can be reduced or eliminated, hence
improving the software's quality and determining whether it meets the required
standards.

The following are the goals of software testing, according to Glen Myers:

Testing is the process of investigating and checking a program to see if there is an error
or not, and whether it meets the requirements or not.

A large number of errors found during the checking out suggests that the checking out
was excellent and is an indicator of a favorable check case.

Discovering a previously undetected fault is an indication of a thorough and thorough
examination of the case.

The main purpose of software checking out is to format the checks in such a way that
they systematically find one-of-a-kind types of problems while also consuming a lot of
time and effort, allowing for much faster software development.
Different Strategies for Software Testing
Prior to beginning the checkout process, it is critical to determine and quantify the product's
requirements.
There are various characteristics that make a software program the best, such as
maintainability, which refers to the ability to replace and modify it, probability, which refers
to the ability to find and estimate any risk, and usability, which refers to how easily it can be
used by customers or end-users. To achieve clear test effects free of error, all of these property
traits should be sought.
Developing a method for non-stop development for the testing process.
6
A look at the strategy that is already measured needs to be utilized for software checking out
to measure and manage the fine at some level in the creation of software as a phase of a
statistical method manipulates approach.
Defining the testing objectives in a clear and distinct manner.
There are several testing objectives, such as effectiveness, which refers to how well the
software program can achieve the goal, any failure, which refers to the software's inability to
meet the requirements and perform the functions, and the cost of defects or errors, which refers
to the cost of repairing the error. All of these goals should be specified clearly in the test design.
Identifying the user's category and creating a profile for each user for the software.
The interactions and verbal communication between different types of users and the gadget to
acquire the target are described in use cases. Perceiving the clients' actual needs and then
putting the product through its paces.
Creating a check design that includes a price and a focus on rapid-cycle testing.
Rapid Cycle Testing is a type of test that increases quality by identifying and assessing any
changes that need to be made in order to improve software methodology. As a result, a test
sketch is a necessary and beneficial file that aids the tester in doing quick cycle testing.
Robust software that can look at itself is being developed.
The software must be able to detect or identify one-of-a-kind faults in training. Furthermore,
the software program diagram should allow for automated and regression testing, which
examines the software program to see if any negative or side effects on the software's facets
are caused by any changes in code or program.
The use of fine formal reviews as a filter before testing.
Formal technical reviews are a way to find faults that haven't been identified yet. Because of
the beneficial technical critiques made prior to testing, a significant amount of testing effort
7
and time is necessary for testing software program, resulting in a reduction in the typical
development time of software.
Conduct formal technical evaluations to assess the test approach and test cases' type, quality,
and capabilities.
The comprehensive technical evaluation aids in the detection of any gaps in the checking out
process. As a result, it is critical to examine the capacity and quality of the test strategy and
check instances via technical reviewers in order to improve software quality. (2020, Hammad)
There's a distinction to be made between testing methodology and testing procedures.
Because there is an obvious separation between the two, the answer is not difficult.
Methodologies for testing that include unit testing and system testing are known as testing
methodologies.
Testing Methods is a list of the most common issues that arise during the testing process and
must be addressed by the project manager, the development team, and the testers.
The software testing methodologies listed above are used to introduce a variety of testing
procedures.
Some Testing Methods
Unit Testing
 It relies on tiny usable units.

The best way to search for insulation in the smallest units.

Created generally by developers.
Integration Testing
 This is the next step on the part of the creator to be carried out.

Provide a framework for evaluating connectivity, interaction and coordination between
the various program modules
Functional Testing
 It is used to verify a software system's functionality, i.e. the performance of the input
provided.
Regression Testing
8

Checks if the bug fix has arisen at one position such that in another key region the
dynamic functionalities do not affect any change.
System Testing

Checking, as a collective device, all the interconnected units.

Multiple functions are merged into end-to-end situations.
Performance Testing
Checks the application's output in sensitive circumstances such as huge size file transfer, device
access for concurrent users, configuration malfunction, etc.
Acceptance Testing
 In general, the final evaluation stage in which the software system is tested by testers
from a customer viewpoint

The outcome of this move is arbitrary and takes a little longer to find the exact problem.
The action or collection of actions that lies at the heart of the testing process is the choice of a
proper testing methodology. This can also be a flexible operation that varies according to the
software product's business requirements and timeline.
However, one may opt to provide a more versatile and effective end product that meets the
needs and desires of the consumer in the required or less time limit, single or even multiple
software development and testing methodologies.
9
Software Testing Tools Available for The Automation of The
Testing Process.
Selenium
Selenium is a testing framework to operate internet application checking out across quite
several browsers and platforms like Windows, Mac, and Linux. Selenium helps the testers to
write assessments in several programming languages like Java, PHP, C#, Python, Groovy,
Ruby, and Perl. It affords file and playback elements to write exams barring studying Selenium
IDE.
Selenium proudly supports some of the largest, but standard browser providers who make
positive they have Selenium as a native phase of their browser. Selenium is undoubtedly the
base for most of the different software program checking out tools in general.
TestingWhiz
TestingWhiz is a test automation tool with the code-less scripting by way of Cygnet Infotech,
a CMMi Level 3 IT solutions provider. TestingWhiz tool’s Enterprise edition gives a whole
10
package of a number computerized checking out options like internet testing, software program
testing, database testing, API testing, cellular app testing, regression test suite maintenance,
optimization, and automation, and cross-browser testing.
TestingWhiz affords more than a few vital features like:

Keyword-driven, data-driven testing, and dispensed testingBrowser Extension Testing

Object Eye Internal Recorder

SMTP Integration

Integration with worm monitoring tools like Jira, Mantis, TFS and FogBugz

Integration with take a look at management tools like HP Quality Center, Zephyr,
TestRail, and Microsoft VSTS

Centralized Object Repository

Version Control System Integration

Customized Recording Rule
TestComplete
TestComplete is a practical checking out platform that affords a number solutions to automate
checking out for desktop, web, and mobile purposes by means of SmartBear Software.
TestComplete gives the following features:
GUI testing

Scripting Language Support – JavaScript, Python, VBScript, JScript, DelphiScript,
C++Script & C#Script

Test visualizer

Scripted testing

Test recording and playback
Ranorex
Ranorex Studio provides a number of testing automation equipment that cover testing all
desktop, web, and mobile applications.
Ranorex offers the following features:
11

GUI recognition

Reusable take a look at codes

Bug detection

Integration with more than a few tools

Record and playback
Sahi
Sahi is a testing automation tool to automate net applications testing. The open-source Sahi is
written in Java and JavaScript programming languages. Sahi gives the following features:
Performs multi-browser testing

Supports ExtJS, ZK, Dojo, YUI, etc. frameworks

Record and playback on the browser testing
Katalon Studio
Katalon Studio is a free automation testing answer developed by way of Katalon LLC. The
software program is constructed on top of the open-source automation frameworks Selenium,
Appium with a specialized IDE interface for API, net and mobile testing. This device includes
a full package of effective points that help overcome common challenges in internet UI check
automation.
Katalon Studio consists of the following features:

Built-in object repository, XPath, object re-identification

Supports Java/Groovy scripting languages

Built-in guide for Image-based testing

Support Continuous Integration equipment like Jenkins & TeamCity

Supports Duel-editor Interface

Customizable execution workflow
(Satasiya, 2019)
12
13
UML class diagram for automated teller machine (ATM)
Scenario
14
UML class diagram for Extension Code Scenario
15
References
16
Download