Black box testing is a technique of software testing which examines the functionality of software without peering into its internal structure or coding.
Block-box testing (or functional testing, or behavior testing) focuses on the functional requirements of the software.
Gray box testing is a combination of white and black box testing
Block-box testing (or functional testing, or behavior testing) focuses on the functional requirements of the software.
Gray box testing is a combination of white and black box testing
Unit Testing contains Concept of Unit Testing, Static Unit Testing, Dynamic Unit Testing, steps for Static Unit Testing, Test Driver, Stub, selection of Data for Unit Testing, etc...
Lecture of Software Engineering II - University of Naples Federico II Main Topics:
- Testing Taxonimes
- Unit Testing with JUnit 4.x
- Testing Scaffolding and Mocking
- JMock
Unit Testing contains Concept of Unit Testing, Static Unit Testing, Dynamic Unit Testing, steps for Static Unit Testing, Test Driver, Stub, selection of Data for Unit Testing, etc...
Lecture of Software Engineering II - University of Naples Federico II Main Topics:
- Testing Taxonimes
- Unit Testing with JUnit 4.x
- Testing Scaffolding and Mocking
- JMock
Bridging the Gap: Machine Learning for Ubiquitous Computing -- EvaluationThomas Ploetz
Tutorial @Ubicomp 2015: Bridging the Gap -- Machine Learning for Ubiquitous Computing (evaluation session).
A tutorial on promises and pitfalls of Machine Learning for Ubicomp (and Human Computer Interaction). From Practitioners for Practitioners.
Presenter: Nils Hammerla <n.hammerla@gmail.com>
video recording of talks as they wer held at Ubicomp:
https://youtu.be/LgnnlqOIXJc?list=PLh96aGaacSgXw0MyktFqmgijLHN-aQvdq
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Subhajit Sahu
Abstract — Levelwise PageRank is an alternative method of PageRank computation which decomposes the input graph into a directed acyclic block-graph of strongly connected components, and processes them in topological order, one level at a time. This enables calculation for ranks in a distributed fashion without per-iteration communication, unlike the standard method where all vertices are processed in each iteration. It however comes with a precondition of the absence of dead ends in the input graph. Here, the native non-distributed performance of Levelwise PageRank was compared against Monolithic PageRank on a CPU as well as a GPU. To ensure a fair comparison, Monolithic PageRank was also performed on a graph where vertices were split by components. Results indicate that Levelwise PageRank is about as fast as Monolithic PageRank on the CPU, but quite a bit slower on the GPU. Slowdown on the GPU is likely caused by a large submission of small workloads, and expected to be non-issue when the computation is performed on massive graphs.
Adjusting primitives for graph : SHORT REPORT / NOTESSubhajit Sahu
Graph algorithms, like PageRank Compressed Sparse Row (CSR) is an adjacency-list based graph representation that is
Multiply with different modes (map)
1. Performance of sequential execution based vs OpenMP based vector multiply.
2. Comparing various launch configs for CUDA based vector multiply.
Sum with different storage types (reduce)
1. Performance of vector element sum using float vs bfloat16 as the storage type.
Sum with different modes (reduce)
1. Performance of sequential execution based vs OpenMP based vector element sum.
2. Performance of memcpy vs in-place based CUDA based vector element sum.
3. Comparing various launch configs for CUDA based vector element sum (memcpy).
4. Comparing various launch configs for CUDA based vector element sum (in-place).
Sum with in-place strategies of CUDA mode (reduce)
1. Comparing various launch configs for CUDA based vector element sum (in-place).
Learn SQL from basic queries to Advance queriesmanishkhaire30
Dive into the world of data analysis with our comprehensive guide on mastering SQL! This presentation offers a practical approach to learning SQL, focusing on real-world applications and hands-on practice. Whether you're a beginner or looking to sharpen your skills, this guide provides the tools you need to extract, analyze, and interpret data effectively.
Key Highlights:
Foundations of SQL: Understand the basics of SQL, including data retrieval, filtering, and aggregation.
Advanced Queries: Learn to craft complex queries to uncover deep insights from your data.
Data Trends and Patterns: Discover how to identify and interpret trends and patterns in your datasets.
Practical Examples: Follow step-by-step examples to apply SQL techniques in real-world scenarios.
Actionable Insights: Gain the skills to derive actionable insights that drive informed decision-making.
Join us on this journey to enhance your data analysis capabilities and unlock the full potential of SQL. Perfect for data enthusiasts, analysts, and anyone eager to harness the power of data!
#DataAnalysis #SQL #LearningSQL #DataInsights #DataScience #Analytics
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Data and AI
Discussion on Vector Databases, Unstructured Data and AI
https://www.meetup.com/unstructured-data-meetup-new-york/
This meetup is for people working in unstructured data. Speakers will come present about related topics such as vector databases, LLMs, and managing data at scale. The intended audience of this group includes roles like machine learning engineers, data scientists, data engineers, software engineers, and PMs.This meetup was formerly Milvus Meetup, and is sponsored by Zilliz maintainers of Milvus.
Adjusting OpenMP PageRank : SHORT REPORT / NOTESSubhajit Sahu
For massive graphs that fit in RAM, but not in GPU memory, it is possible to take
advantage of a shared memory system with multiple CPUs, each with multiple cores, to
accelerate pagerank computation. If the NUMA architecture of the system is properly taken
into account with good vertex partitioning, the speedup can be significant. To take steps in
this direction, experiments are conducted to implement pagerank in OpenMP using two
different approaches, uniform and hybrid. The uniform approach runs all primitives required
for pagerank in OpenMP mode (with multiple threads). On the other hand, the hybrid
approach runs certain primitives in sequential mode (i.e., sumAt, multiply).
The Building Blocks of QuestDB, a Time Series Databasejavier ramirez
Talk Delivered at Valencia Codes Meetup 2024-06.
Traditionally, databases have treated timestamps just as another data type. However, when performing real-time analytics, timestamps should be first class citizens and we need rich time semantics to get the most out of our data. We also need to deal with ever growing datasets while keeping performant, which is as fun as it sounds.
It is no wonder time-series databases are now more popular than ever before. Join me in this session to learn about the internal architecture and building blocks of QuestDB, an open source time-series database designed for speed. We will also review a history of some of the changes we have gone over the past two years to deal with late and unordered data, non-blocking writes, read-replicas, or faster batch ingestion.
3. Black Box Testing
• Black-box testing: Testing, either functional
or non-functional, without reference to the
internal structure of the component or
system. (ISTQB)
4. Test Execution
Black Box Testing
– testing without knowing the internal workings of thecode
– WHAT a system does, rather than HOW it works it
– typically used at System Test phase, although can be useful
throughout the test lifecycle
– also known as specification based testing andfunction
testing
– Applies for Functional and Non-Functional testing
Input Output
If Output = Expected result then pass
5. White Box Testing
white-box testing: Testing based on
an analysis of the internal structure
of the component or system.
(ISTQB)
6. White Box Testing
– testing based upon the structure of the code
– typically undertaken at Component and Component
Integration Test phases by development teams
– also known as structural or glass box testingor
structure based testing
Execute with monitor the flow
Input Output
7. Test Case Design
• Terminologies
– Test condition – an item or event of a component or system that
could be verified by one or more test cases
– Test case specification– a set of input values, execution
preconditions, expected results, and executionpostconditions,
designed for a specific test objective or test condition
– A test procedure specification – a sequence of actions for the
execution of the test. It may consist of number of test cases.
– Test basis: All documents from which the SRS, SDS, code, or any
related documents of a component or a system can be inferred.
6
9. Illustrative Example of Test Case Design -1
Inorderfor3integersa,b,andctobethe
sides of a triangle, the following conditions
must bemet:
Scalene: a+b>c,wherea<b<c
Isosceles: a+a>c,whereb=a
Equilateral:a=a=a,whereb=a,c=a,anda>0
A triangle is:
Scalene if no two sides are equal
Isoscelesif2sidesareequal
Equilateral if all 3 sides are equal
void triangle (int a, int b, int c)
{
int min,med, max;
if (a>b)
{
max=a;
min = b;
}
else
{
max = b;
min = a;
}
if (c>max)
max = c;
else if (c<max)
min = c;
med = a+b+c-min-max;
if (max>min+med)
cout << "Impossible trianglen";
else if (max==min)
cout << "Equilateral trianglen";
else if (max==med||med==min)
cout << "Isoceles trianglen";
else if (max*max==min*min + med*med)
cout << "Rightangled trianglen";
else
cout << "Any trianglen";
}
8
•
a b
c
11. Why dynamic test techniques?
• Dynamic test technique is a sampling technique.
• Exhaustive testing is testing all potential inputs and
conditions is unrealistic
– So we need to use a subset of all potential test
cases
– Select the high likelihood of detecting defects
• There is a required processes to select the efficient
and intelligent test cases
– test case design techniques are such thought
processes
10
12. What is a testing technique?
• a process for selecting or designing test cases based
on a specification or structure model of the system
• successful when detecting defects
• 'best' practice
• It is a process of a best test cases derived
• a process of objectively evaluating the test effort
Testing should be rigorous, thorough and
systematic
11
13. Advantages of techniques
• Different people: similar probability find faults
– gain some independence of thought
• Effective testing: find more faults
– focus attention on specific types of fault
– know you're testing the right thing
• Efficient testing: find faults with less effort
– avoid duplication
– systematic techniques are measurable
Using techniques makes testing much
more effective 12
14. Measurement
• Objective assessment of thoroughness of testing
(with respect to use of each technique)
– useful for comparison of one test effort to another
• E.g.
Project C
30% Boundaries
partitions
40% Equivalence
70% Branches
Project D
70% Branches
partitions
50% Boundaries
45% Equivalence
13
16. Equivalence
partitioning (EP)
– primarily black box technique
– divide (partition) the inputs, outputs, etc. intoareas which are the same (equivalent)
– assumption: if one value works, all will work
– one from each partition better than all fromone
17. 15
Equivalence Partitioning:
It is very difficult, expensive and time consuming if not at
times impossible to test every single input value
combination for a system.
We can break our set of test cases into sub- sets. We then
choose representative values for each subset and ensure that
we test these.
Each subset of tests is thought of as a partition between neighbouring
subsets or domains.
18. Equivalence Partitioning:
Makes use of the principle that software acts in a general
way (generalises) in the way it deals with subsets of data,
Selects Groups of inputs that will be expected to be
handled in the same way.
Within a group of data, a representative input can be
selected for testing.
For many professional testers this is fairly intuitive.
The approach formalises the technique allowing an
intuitive approach to become repeatable.
19. EP Example:
Consider a requirement for a software system:
“The customer is eligible for a life assurance
discount if they are at least 18 and no older
than 56 years of age.”
For the exercise only consider integer years.
20.
21. One of the fields on a form contains a text box
which accepts numeric values in the range
of 18 to 26. Identify the invalid Equivalence
class.
a) 17
b) 19
c) 25
d) 21
22. In an Examination a candidate has to score
minimum of 25 marks in order to pass the exam.
The maximum that he can score is 50 marks.
Identify the Valid Equivalence values if
the student passes the exam.
a) 22,24,27
b) 21,39,40
c) 29,30,31
d) 0,15,22
23. Boundary value analysis (BVA)
– faults tend to lurk near boundaries
– good place to look for faults
– test values on both sides of boundaries
26. A program validates a numeric field as follows: values less than 10 are rejected,
values between 10 and 21 are accepted, values greater than or equal to 22 are
rejected. Which of the following covers the MOST boundary values?
a. 9,10,11,22
b. 9,10,21,22
c. 10,11,21,22
d. 10,11,20,21
27. In a system designed to work out the tax to be paid:
An employee has £4000 of salary tax-free.
The next £1500 is taxed at 10%.
The next £28000 after that is taxed at 22%.
Any further amount is taxed at 40%.
To the nearest whole pound, which of these is a valid Boundary Value Analysis
test case?
a) £28000
b) £33501
c) £32001
d) £1500
28. Example 1: EP
void ValveControl (int pressure, inttemperature)
{
if (pressure <= 10)
{
OpenTheValve();
printf (“Valve openedn”);
}
if (pressure > 100)
{
CloseTheValve();
printf (“Valve closedn”);
}
else
{
ShutDown();
}
if (temperature > 27)
{
EnableCoolingCoil();
printf (“Cooling coil enabledn”);
}
else
{
• Using EP and BV,
derive the set of
values for pressure
and temperature.
• Enumerate
exhaustively all the
values of pressure
and temperature to
form a complete test
suite.
DisableCollingCoil();
}
} 18
29. Example 2: EP & BVA
• Scenario: If you take the train before 9:30 am
or in the afternoon after 4:00pm until 7:30 pm
(‘the rush hour’), you must pay full fare. A
saver ticket is available for trains between
9:30 am and 4:00 pm.
– Identify the partitions
– Identify the boundary values to test train times for
ticket type
– Derive the test cases using EP and BVA
19