As we can see together, I use cy.viewport to declare the size of the screen. In addition to using the size of the resolution, the viewport can also be defined using the type of device.
This article is a continuation of the QA technique series. To read previous articles in the same series, you are welcome to follow the link below.
QA Techniques: Black Box Testing
If in the previous article I wrote about black box testing, in this article I will write about white box testing,
What is White Box Testing?
White box testing is a software testing method that takes advantage of an internal view of the software code.
It is called a ‘white box’ because you can see inside an application’s source code and observe the way it is put together. With white box testing, test data enters the system via parameters, variables, and stored procedures and exits through return codes and stored procedures. This allows you to follow logic paths through the system as well as error-handling paths.
White Box Testing Techniques
White box testing is a technique that allows you to test your code at the source level. This means that you can test every line of code in a module or class. It also means that you can test the relationships between different modules and classes.
White box testing techniques include statement coverage, branch coverage, condition coverage, basis path testing, graph notation, Cyclomatic Complexity, and loop testing.
Statement coverage
Statement Coverage is the most basic and fundamental test coverage technique.
It focuses on testing all individual statements in a program at least once. Thus every node in the flowchart is tested.
Although this may seem trivial, it helps to achieve 100% statement test coverage. Because of this, it’s often considered a minimum requirement for any level of testing.
Branch Coverage
Branch Coverage ensures that the test for every possible path (if-else and loops) has been executed at least once by running all combinations of boolean expressions.
The idea behind branch coverage is that each decision condition should be tested with both true and false values; covering these branches is an important step toward achieving full branch coverage.
Branch coverage may also be referred to as condition-decision coverage or decision-branch coverage.
Condition Coverage
Condition Coverage ensures that every conditional statement has been evaluated at least once by running through all possible combinations of boolean expressions.
For example, there are conditions; X<0 and Y>0. Then we’ll have 4 possible conditions; TRUE and TRUE, TRUE and FALSE, FALSE and TRUE, and FALSE and FALSE.
Basis Path Testing
Basis path testing is a method that allows test case designers to make measurements of the logical complexity of the procedural design and use these measurements as a guide for defining the basis set of execution paths.
Test cases created to test the basis set are guaranteed to execute every statement in the program at least once during testing
Flow graph notation
This technique uses a directed graph to identify all possible paths and then maps those paths to create tests for them.
The graph is consist of nodes, decision nodes, junction nodes, and edges, and each node represents a sequence or decision point.
Cyclomatic Complexity
Cyclomatic complexity is used to determine the number of paths that need to be searched.
Cyclomatic complexity is a software metric that provides a quantitative measure of the logical complexity of a program. The value calculated for cyclomatic complexity determines the number of independent paths in the base set of a program and provides the minimum number of tests that must be performed to ensure that all statements have been executed at least once.
Loop testing
This test is mandatory to test various loops in the program, such as do-while, for, and while. In this test, you can also check the condition of the loop, whether it is running correctly or not.
Advantages of White Box Testing
White box testing is very thorough so it can increase accuracy in implementing software.
Makes it easy to find errors or bugs in software that were not previously seen.
Can be executed early so that it can detect bugs early.
Facilitates testing because it is carried out thoroughly so as to minimize the possibility of errors in the code.
Disadvantages of White Box Testing
Quite complex.
Hard to maintain, because if there is any changes in the code, we need to rewrite the testcase.
Consumes a lot of resources because White-box testing is a fairly expensive test.
Expensive.
Conclusion
So, we already talk about White Box Testing, as a part of the Testing Technique series. We already talk about the definition of white-box testing, the technique of white-box testing, also the advantages and disadvantages of white-box testing.
In this article, we’re going to talk about different approaches to testing. We’ll also talk about how to consider the best approach before diving into any particular approach.
Two techniques
A test approach has two techniques: proactive and reactive. Proactive help identifies and fixes errors early, while reactive is only used when products have already been developed.
List of Test Approaches
Analytical approach
The analytical approach is commonly used in software development projects. It focuses on the most critical functionality and uses some formal and informal analytical techniques.
The main advantage of this approach is that it allows you to focus testing on the most important parts of your system, which reduces risk.
This type of testing methodology focuses on the specified requirements instead of focusing on what users need or want from a product or service.
Model-based approach
The Model-based approach generate or uses statistical model for defining system behavior.
When designing or selecting a formal or informal model for critical system behavior (e.,g., response time), this information will be used during the requirements and design stages of the project
Methodical approach
A methodical approach is a step-by-step approach to testing. It has a pre planned, systematized approach, assembled from various concepts. It is a formal way of testing and it has been used in many industries like software development, product development, etc.
A thorough understanding of this methodology will help you achieve better results and improve your quality assurance processes
Process or standard-compliant approach
The process- or standard-compliant approach is the most common in software testing. It involves testing against a particularly known standard, such as an IEEE 829 standard for embedded systems.
Software testing standards are usually created by industry bodies such as ISO and IEEE, which aim to ensure consistency across countries by defining what should be done within their scope of work.
The benefits of using these standards include:
Consistency — everyone knows what they should do and how they should do it
Uniformity — there’s no need to reinvent the wheel each time you start working on something new
Dynamic and heuristic testing approach
This approach concentrates on finding as many defects as possible during test execution, it also adapts to the realities of the system under test as it is when delivered. Such an approach usually involves exploratory testing, where a tester tries out various variations of input data, such as user actions or configurations (the latter can be done using simulation). The goal here is not only to find all bugs but also to understand how these bugs can be fixed and where they might occur in future releases. In addition, this method allows for the execution of independent evaluation tasks such as planning tests for new features or fixing known issues before deployment
Consultative approach
A consultative approach is a type of test strategy in which the software tester acts as a consultant to the software development team. The two parties communicate with each other and work together on finding defects, fixing them, and testing new functionality.
This type of collaboration can be beneficial for both parties involved because it allows developers to make changes without having any fear about breaking things for testers, who might need time to come up with ways around these obstacles.
Regression-averse testing approach
Regression testing is the process of re-testing a previously tested program after a software change to ensure that it continues to function as expected. It can be performed on any new build of the software, or any modified portion of the software.
Regression testing involves automating the functional test before its release to detect defects in newly added features and functionalities (e.g., new UI elements). In this case, regression testing requires early testing because it takes longer than manual regression tests which have been implemented earlier in the development life cycle
Selecting the best approaches/ strategy
The selection of the right approach or strategy will depend on the nature of your product, as well as the nature of your team. You should consider every aspect of your project, including:
Risks involved with making a product or risk of failure
Expertise and experience of your people in the proposed tools and techniques
Regulatory and legal aspects such as external and internal regulations of the development process
The nature of the product and its domain
Conclusion
Software testing is a highly specialized and technical field. There are many ways to test software, but some of them are described here.
Quality assurance is used to test software, when executing testing, we need to use a technique, so our testing can be done with minimum cost. In this article, I’ll talk about black box testing as a way to evaluate the quality of an application.
What is Black box testing?
Black box testing definition is a type of software testing in which the functionality of the software is not known. The testing is done without the internal knowledge of the products and their internal structures, so it’s frequently called “black” box testing.
Black box testers focus on finding defects that lie within their black-boxed system rather than trying to figure out how they work from an internal perspective.
They usually verify whether user interfaces do what they’re supposed to do by looking at input/output data provided by users or automated tests running against them.
Why do we need Black box testing?
Black box testing is a type of software testing in which the software’s functionality is unknown. The testing is done without internal knowledge of the products and their user interface.
Black box test cases help you provide maximum coverage with minimum test cases because they don’t have any external dependencies like user interaction or other factors that can affect your test results.
Black box testing techniques
Equivalence Partitioning
Equivalence class partitioning is a black box testing technique that divides the input domain of the software under test into several equivalence classes.
For example — “userId” field is consist of 32 alphanumeric characters. So, we divide the input into; > 32 digits (invalid), =3 2 digits (valid), < 32 digits (invalid).
Boundary Value Analysis
The boundary value analysis focuses on detecting and correcting boundary conditions in cases where unexpected results occur because of these variables’ values.
For example — To enroll in classes, the valid student “age” range should be between 15–25. Then the test will be; 15 and 25 for the valid range, and 14 and 26 for the invalid range.
Decision Table Testing
Decision tables are a great way to test the functionality of your application. They allow you to create complex business rules, document them, and apply them at runtime.
We use decision tables when we need to execute complex business rules. The input combinations and corresponding outputs are listed in a table, creating test cases.
For example — below is a simple decision table. It shows the eligibility of students to enroll a class in this semester. Students are eligible to register if their age is within range, pay an admission fee, admitted to this semester, and not being suspended.
╔══════════════╦═══════════════╦═══════════════╦═══════════════╗ ║ condition ║ combination 1 ║ combination 2 ║ combinations 3║ ╠══════════════╬═══════════════╬═══════════════╣═══════════════╣ ║ age ║ Y ║ Y ║ Y ║ ║ admission fee║ Y ║ Y ║ Y ║ ║ admitted ║ Y ║ Y ║ N ║ ║ suspended ║ Y ║ N ║ N ║ ╚══════════════╩═══════════════╩═══════════════╩═══════════════╝
State Transition Testing
State Transition Testing is a black box testing technique that is used to validate the functionality of the software against state changes. This can be done by writing tests using specific values twice.
State Transition Testing helps you to identify the possible transition for your application during runtime.
For example — You simulate a student that enrolls in a class using valid values, then enrolls in the very same class again using the same values. The first enrollment will succeed. Meanwhile, the second enrollment will result in a failure.
Use Case Testing
Use case testing is a black box testing technique that uses use cases to test the functionality of a component or system. The tester without any internal knowledge of the component or system creates use cases and uses them to test the functionality. Use cases are documents that describe an interaction between actors (i.e., users) and/or objects (i.e., components).
Error Guessing
Error guessing is a technique that helps testers find defects in the system. It’s a simple technique and can be used by testers with little or no programming knowledge.
It involves testing all possible combinations of inputs and outputs, then comparing them to what you expect to see based on your previous experience with the product or service you’re testing.
If there are errors left over after this process, then something has gone wrong somewhere in your system!
Conclusion
We hope that you have learned something from this article. We know that testing can be a difficult field, but it is also one of the most important for your organization. As always, we are here to help you learn more about what we do and how we do it. Please keep in mind that every project is unique and has different requirements so feel free to contact us if you have any questions or concerns!
Orang Indonesia dan orang India dengan skill dan keterampilan yang sama bekerja di suatu perusahaan rintisan di amerika.
Suatu ketika saat dilakukan sprint planning, product manager bertanya,
“We’ll deal with a big project, this project will bring our company great fortune, who wants to be the lead engineer?”
Kemudian engineer dari India dengan antusias dan penuh percaya diri mengacungkan tangan sambil setengah berteriak,
“I can do this, give me a chance and I will successfully lead our team.”
Dan tahukah kalian apa yang dilakukan software engineer dari Indonesia? dia duduk di kursi terjauh sambil menggerutu,
“Kalau cuma gitu aja aku juga bisa, tapi aku mending diam saja.”
Pertanyaanya,
Kenapa hanya memilih diam?
Kenapa tidak mengajukan diri?
Kenapa tidak menunjukan bahwa dirinya memiliki skill yang bisa diunggulkan?
Tahun ini adalah tahun pertama anak kedua saya masuk Taman kanak-kanak. Dan tahukah apa yang dipelajari di hari-hari pertamanya?
Ya betul!! TEPUK DIAM!!
Begini liriknya
Tepuk Diam
Prok 3X Bila aku
Prok3 X Sudah tepuk
Prok 3X maka aku
Prok 3X harus diam
DIAM
One, two, three, four Yes DIAM
Apakah memang harus begitu? Apakah untuk memperoleh pendidikan harus ditukar dengan kemampuan mengutarakan sesuatu? Padahal nantinya di masyarakat maupun dunia kerja kita dituntut untuk dapat
SPEAK UP
Anak saya juga memiliki kebiasaan menulis nama dirinya dengan membubuhkan tanda “love” di atas huruf “i” sebagai ganti tanda titik. Menurut saya, itu manis sekali dan sangat kreatif.
Suatu hari saya melihat dia menulis nama dengan titik yang normal. Saya pun terheran dan bertanya. “Biasanya kamu nulis pakai tanda love kok sekarang nggak lagi?”. Dan jawabanya adalah,
“Nggak boleh sama bu guru.”
“Kok bisa?”
“Nggak sopan katanya.”
“Ya itu kan di sekolah, kalau nulis di rumah ya gapapa to.”
“Tetep ga boleh.”
“Kan kalau di rumah boleh sama papah.”
“Kan bu guru yang bener.”
Ini bagaimana konsepnya?
Kenapa hal-hal kreatif dilarang?
Misal tidak boleh berkreasi untuk catatan di buku resmi atau tugas, kan bilang aja
“untuk konteks tugas tidak boleh, tapi kalau untuk kreasi boleh”
Mengapa kreativitas anak dihambat?
Mengapa potensi dibatasi justru oleh orang yang seharusnya mendorong anak menuju potensi terbaiknya?
Bagaimana bisa anak saat dewasa nanti dituntut untuk adding value jika sekedar menambahkan keindahan saja dilarang?
Mengapa hanya kreasi yang diajarkan dari sekolah yang diperbolehkan sedangkan yang muncul dari anak dilarang?
Kenapa model pembelajaran seperti ini masih exist bahkan di tahun 2022? Ketika kurikulum merdeka sedang gencar-gencarnya?
Tidak berhenti di situ saja, pembungkaman juga menanti anak-anak setelah mereka nanti beranjak dewasa. Contohnya: saya merasa ragu-ragu apakah aman menulis seperti ini.
Using Wombo, I created a high-quality, detail-packed character in less than 5 minutes.
Wombo — is a free AI-powered artwork creation platform that has everything you need to quickly design and create a beautiful digital painting. On this occasion, I will use it to show you, how to create your exceptional superhero character in just a few easy steps.
This is the second article of the AI-generated superhero character series. You can read the first article from the link below.
Yes, I’m obsessed with AI-generated art, especially superhero character creation. I always imagine how my children look if they are depicted as superhero characters.
If you are curious about how I make superhero characters just continue reading.
One of the most well-known and capable AI tools for producing art is Dream by WOMBO. Creating art using Dream by WOMBO is super easy just follow these simple steps and you will be a master of art in no time.
Step 1 Go to Dream by WOMBO
Go to Dream by WOMBO website and click the sign-in button. You can also access it using your smartphone. Just search it in Google Play (android user) or App Store (apple user).
Step 2 Create your art
Click the “START CREATING” button and you will be redirected to a create page. Enter the prompt with any description you want. Because I want to create a superhero character then I type in “Robot superhero” and choose “HDR” art style.
In this step, you can type any description you want, from sunset cliff, futuristic city, space cowboy, or anything. Then press the “Create” button.
Step 3 Publish your work
And voila, your character is done.
Give a name to your artwork, you can pick any name you want, and add tags so your artwork can be easily found by others.
As an extra action, you can mint your work as an NFT or/and print it on canvas for several dollars. To be able to mint as NFT directly you need to connect to your crypto wallet.
Click Publish, and now your artwork is created. It can be accessed from your profile page.
Unlike Midjourney which demands money after 25 attempts in creating AI-generated art. WOMBO is completely free, at least until I write this article.
Conclusion
Will AI replace humans in creating digital art?
I don’t think so, just like any art utensil like canvas, brush, or even tablet, AI is just a tool. It helps humans depict their imagination. So
Disclaimer: This article is created by AI. Not because I’m being lazy and don’t want to make an original story. I am publishing this just to show how fascinated I’m with AI. It can take over every aspect of human creativity.
After this point, it is AI generated article.
Artificial intelligence is a growing technology that has the power to change many aspects of daily life. Many believe this technology can replace human writers, including journalists and creative writers. However, others believe AI cannot replace human writers because it is incapable of writing well. This debate is important because it helps us to understand the effects of artificial intelligence on the literary world. Ultimately, AIs ability to write shows that it can become an essential part of the literary world.
One reason why artificial intelligence can’t replace human writers is that it can’t write about emotional subjects as well as humans can. AI is good at writing about facts and figures, but it isn’t as adept at writing about emotional stories. This means that AI wouldn’t be able to craft the same types of stories that humans can. In some ways, AI can only mimic what humans already do well; it can’t create unique stories that humans haven’t already written. In that sense, AI is less capable of writing than humans are.
Although artificial intelligence can’t replace human writers, it can help create more diverse content. AI is capable of writing in many different genres and formats. For example, AI can write in poetry and dramatic prose just like humans can. It’s also capable of writing in different genres that humans aren’t skilled enough to write in. For example, AI can write in sci-fi, a genre that only humans are capable of writing about. This means that AI is capable of writing about subjects that humans aren’t skilled enough to write about. In this sense, AI can create a more diverse range of content than human writers.
AI also has a more accurate understanding of human emotion than humans do. This means that AI will be better at writing about certain emotions and concepts than humans will be. For example, AI will be better at writing about loss and grief than humans will be because it has more data to work with and has a more accurate understanding of human emotion. In this sense, AI helps create better stories than human writers do.
On the other hand, some people feel uncomfortable with artificial intelligence writing emotional content because they feel it undermines their work. They also feel this undermines their personal relationships with other people they know. These people believe that the emotional content created by AI is less than genuine because they feel it’s not based on reality or they’re being manipulated by the creator. In their eyes, it’s dishonest and lessens their credibility as writers.
Additionally, some believe that humans are still better writers than AI because it can only write about facts and figures. Humans are still better at creating emotional content, so it’s still not good enough to replace human writers in this area. In essence, it would only be able to write about one thing: facts and figures; which would turn out to be very boring for readers!
Overall, although artificial intelligence can’t replace human writers, it can help create more diverse content. It’s capable of writing in many different genres and formats and has a more accurate understanding of human emotion than humans do. The creator would be able to create better stories than humans because it understands human emotion so well. This technology shows us that there is no limit to what AIs creative power could do for literature!
Hello, I’m back
It’s me again
a human
like a real human.
Have you read the above article? fascinating isn’t it? That’s what an AI capable of.
So what do you think? Will AI replace human in every aspect? Even in art and writing? Can it feel any emotions?
In this article, I will talk about Artificial Intelligence again. These days I’m super excited to explore AI, especially AI to produce art.
Maybe you will ask why, to know the answer just look at these arts
Also this one
Impressive, isn't it?
I you think that those arts are created by people, you are wrong, those are created by computers through Artificial Intelligence. Not completely wrong, though, that AI is created by people.
if you are curious about how to make it just continue reading.
One of the most well-known and capable AI tools for producing art is midjourney. Creating art using midjourney is super easy just follow these simple steps and you will be a master of art in no time.
Step 1 Join Midjourney Beta
Go to the Midjourney website, using the link below.
[embed]https://www.midjourney.com/home/[/embed]
And click “Join the beta”
From this step, you will be redirected to their discord invitation page.
Step 2 log into Discord
Log in with your Discord account, or create one if you don’t have any. Then you can join any one of the newbie’s channels that have a bot.
And now, ARE YOU READY TO CREATE A MASTERPIECE?? Then move to step 3
Step 3 Create a Masterpiece
To create art, you can use the Discord slash command. Start typing /imagine, click /imagine option and it will generate a prompt. Type in the prompt anything you want the bot to generate.
For example, I will type “futuristic boy as superhero” and then press enter.
Wait for the bot to finish generating the image based on the description you wrote.
It will take minutes to generate.
And Voila!! your art is ready freshly baked from the oven.
Four images are generated in 2X2 grids.
You also can upscale your chosen image by clicking U1 — U4 and ask for another variation by clicking V1 — V4.
Your 2X2 image and the upscaled version can be accessed at www.midjourney.com/app/ by login in using discord.
Keep in mind, for the free trial version there is a limit to the number of images generated. If you want to generate more images, you can purchase their subscription plan.
In this article I am really interested to share something that hype recently, that is: AI GENERATED ART. AI generated art or Artificial intelligence art refers to any artwork created through the use of artificial intelligence.
For this article I will try to create abstract art using python code from Abstract-Art-Generator.
Please follow these 4 Easy Steps:
Step 1
To get the code, you can clone or download from his github and save it in your local machine.
Step 2
Before you run this code, make sure to install all the requirements:
pygame
python -m pip install pygame
pygame_gui
python -m pip install pygame_gui
tkinter
python -m pip install tkinter
Step 3
After all requirements are fulfilled, run the python code using this script:
python art_generator.py
Wait until the UI is prompted.
Step 4
You can generate abstract art randomly or custom it with your own preference.
To generate randomly click “Generate Randomly” button.
Let’s try it:
Fig 1
2. Fig 2
3. Fig 3
Or, you can customize it in OPTIONS tab.
Choose color palette
Styling layer one
Styling layer two
Generate
Let’s see the result
and
Voila!!!
It’s so beautiful.
You can also add overlay on top of it.
Don’t be afraid to experiment with other combination of shape and color, and create your ultimate masterpiece.